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

# Struttura dei controlli del framework

> Definizione strutturata (JSON) dei controlli di un framework (id, type, choices, weight, step), raggruppati per step. Il parametro opzionale ?step= limita a un singolo step.



## OpenAPI

````yaml get /api/v1/v-ciso/organizations/{organizationid}/workflows/{workflowid}/framework/spec
openapi: 3.1.0
info:
  title: Aegister API
  version: 1.0.5
servers: []
security: []
paths:
  /api/v1/v-ciso/organizations/{organizationid}/workflows/{workflowid}/framework/spec:
    get:
      tags:
        - V-CISO • Workflows
      summary: JSON spec for a framework's controls
      description: >-
        GET /api/v1/v-ciso/organizations/{oid}/workflows/{fwid}/framework/spec


        Machine-readable contract for a framework's controls (id, type, choices,

        weight, step), grouped into steps. Optional ``?step=`` restricts to one
        step.
      operationId: v-ciso-framework-spec
      parameters:
        - in: query
          name: lan
          schema:
            type: string
          description: Language for labels/validation (en|it).
        - in: path
          name: organizationid
          schema:
            type: integer
          required: true
        - in: query
          name: step
          schema:
            type: string
          description: Restrict to a single framework step id.
        - in: path
          name: workflowid
          schema:
            type: string
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: integer
                    description: |-
                      Any value different from 0 indicates an error.  
                      More details can be found in `messages`.
                    minimum: 0
                    maximum: 0
                    examples:
                      - 0
                  messages:
                    type: array
                    description: >-
                      If `error` is `1`, contains zero or more details on the
                      error.
                    examples:
                      - []
                  data:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - framework
                      framework:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: object
                            properties:
                              en:
                                type: string
                              it:
                                type: string
                      steps:
                        type: array
                        items:
                          type: object
                      controls:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: object
                              properties:
                                en:
                                  type: string
                                it:
                                  type: string
                            description:
                              type: object
                              properties:
                                en:
                                  type: string
                                it:
                                  type: string
                            type:
                              type: string
                              description: >-
                                text|textarea|radio|select|checkbox|date|number|…
                            multiple:
                              type: boolean
                            required:
                              type: boolean
                            custom:
                              type: boolean
                            choices:
                              type:
                                - array
                                - 'null'
                              items:
                                type: object
                                properties:
                                  value:
                                    type: string
                                  label:
                                    type: object
                                    properties:
                                      en:
                                        type: string
                                      it:
                                        type: string
                            format:
                              type: object
                            evidence:
                              type: boolean
                              description: evidence file(s) may be attached
                            step:
                              type:
                                - string
                                - 'null'
                            subframework:
                              type:
                                - string
                                - 'null'
                            category:
                              type: object
                              properties:
                                en:
                                  type: string
                                it:
                                  type: string
                            weight:
                              type:
                                - number
                                - 'null'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: integer
                    description: |-
                      Any value different from 0 indicates an error.  
                      More details can be found in `messages`.
                    minimum: 0
                    maximum: 0
                    examples:
                      - 1
                  messages:
                    type: array
                    description: >-
                      If `error` is `1`, contains zero or more details on the
                      error.
                    examples:
                      - - 9153
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: integer
                    description: |-
                      Any value different from 0 indicates an error.  
                      More details can be found in `messages`.
                    minimum: 0
                    maximum: 0
                    examples:
                      - 1
                  messages:
                    type: array
                    description: >-
                      If `error` is `1`, contains zero or more details on the
                      error.
                    examples:
                      - []
          description: ''
      security:
        - ApiKeyAuth: []
        - ApiKeyQueryParam: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Aegister-Token
    ApiKeyQueryParam:
      type: apiKey
      in: query
      name: X-Aegister-Token

````