---
title: "List Policy Rules"
method: GET
path: "/v1/policies/{policy_id}/rules"
tags: ["Agent Environment", "policies"]
---

# List Policy Rules

`GET /v1/policies/{policy_id}/rules`

List rules for a specific policy.

## Path parameters

- `policy_id` string, uuid, required

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

Successful Response

- SrcServiceAgentEnvironmentApiPoliciesRuleListResponse — Response model for rules list with pagination. - results: Items in the current page. - total: Total number of rules (across all pages if paginated).
  - `results` PolicyRule[], required
    - `id` string, uuid, required
    - `policy_id` string, uuid, required
    - `rule_id` string, required
    - `rule_type` 'permission' | 'prohibition' | 'obligation' | 'recommendation', required — Type of policy rule (ODRL-inspired).
    - `action` string, required
    - `target` string, nullable
    - `assignee` string, nullable
    - `constraints` union
      - RuleConstraint[]
        - `condition_type` string, required
        - `field` string, required
        - `operator` string, required
        - `value` union, required
          - string
          - integer
          - number
          - boolean
          - string[]
      - object[]
    - `constraint_logic` string
    - `consequence` union, required
      - RuleConsequence — Consequence when rule is triggered.
        - `action` string
        - `severity` 'info' | 'low' | 'medium' | 'high' | 'critical' — Severity level for rule consequences.
        - `message` string, nullable
      - object
    - `natural_language` string, required
    - `provenance` union
      - RuleProvenance — Provenance information for rule extraction.
        - `extracted_by` 'llm' | 'manual'
        - `model_used` string, nullable
        - `confidence_score` number, nullable
        - `source_location` SourceLocation — Location in source document where rule was extracted from.
          - `section` string, nullable
          - `paragraph` integer, nullable
          - `char_start` integer, nullable
          - `char_end` integer, nullable
          - `source_text` string, nullable
      - object
    - `category` 'privacy' | 'ethics' | 'security' | 'compliance' | 'operational' | 'brand' | 'custom' — Category of policy document.
    - `tags` string[], nullable
    - `status` 'draft' | 'approved' | 'rejected' | 'modified' — Review status of a policy rule.
    - `reviewed_by` string, uuid, nullable
    - `reviewed_at` integer, nullable
    - `review_notes` string, nullable
    - `created_at` integer, required
    - `updated_at` integer, required
  - `total` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/vijilai/apis/vijil-console-api-combined.md) · [All operations](https://skmtc.net/vijilai/apis/vijil-console-api-combined/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vijilai/vijil-console-api-combined/versions/a8b2ee2b2d06/schema)
