> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alignr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List controls

> Requires `detection_rule.read`. Results are scoped to the authenticated tenant. This reference is generated from source; consult the authenticated live schema for deployment-specific availability.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/standards/{standard_id}/controls
openapi: 3.1.0
info:
  title: Alignr API
  version: 0.1.0
  description: >-
    Selected read operations. Generated from the Alignr application; no tenant
    data is included.
servers:
  - url: https://api.alignr.io
security: []
paths:
  /api/v1/standards/{standard_id}/controls:
    get:
      tags:
        - Standards
      summary: List controls
      description: >-
        Requires `detection_rule.read`. Results are scoped to the authenticated
        tenant. This reference is generated from source; consult the
        authenticated live schema for deployment-specific availability.
      operationId: list_standard_controls_api_v1_standards__standard_id__controls_get
      parameters:
        - name: standard_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Standard Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControlPage'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
components:
  schemas:
    ControlPage:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ControlRead'
          type: array
          title: Items
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        pageSize:
          type: integer
          title: Pagesize
        totalPages:
          type: integer
          title: Totalpages
      type: object
      required:
        - items
        - total
        - page
        - pageSize
        - totalPages
      title: ControlPage
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ControlRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        standardId:
          type: string
          format: uuid
          title: Standardid
        name:
          type: string
          title: Name
        slug:
          type: string
          title: Slug
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        category:
          type: string
          title: Category
        severity:
          $ref: '#/components/schemas/Severity'
        autonomy:
          $ref: '#/components/schemas/Autonomy'
        enabled:
          type: boolean
          title: Enabled
        parameters:
          additionalProperties: true
          type: object
          title: Parameters
        definition:
          additionalProperties: true
          type: object
          title: Definition
        requires:
          items:
            type: string
          type: array
          title: Requires
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
      type: object
      required:
        - id
        - standardId
        - name
        - slug
        - category
        - severity
        - autonomy
        - enabled
        - parameters
        - definition
        - requires
        - createdAt
        - updatedAt
      title: ControlRead
      description: >-
        `GET /standards/{id}/controls` item, and the result of

        `PATCH /standards/{id}/controls/{ruleId}` (`Control` in

        `frontend/src/types/standards.ts`). A straight projection of the

        `DetectionRule` that is this control, plus `requires` — the predicates
        its

        `match`/`where`/`expect` clauses read, derived from `definition` itself

        (spec §6.2) rather than hand-maintained so it cannot drift from the

        expression it describes.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    Severity:
      type: string
      enum:
        - high
        - medium
        - low
      title: Severity
    Autonomy:
      type: string
      enum:
        - suggest_only
        - document_only
        - one_click
        - change_ticket
        - auto_fix_low_risk
      title: Autonomy
      description: >-
        The autonomy ladder, ordered least to most autonomous. See
        ``core/autonomy.py``

        for the ordering helper — do not reorder these members, code depends on
        declaration

        order matching the ladder.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: An Alignr API key.

````