> ## 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 delle colonne di un'attività tabella

> Struttura JSON delle colonne di un'attività di tipo tabella: ogni colonna dichiara il proprio type, se è obbligatoria, un format dichiarativo e le choices ammesse (id valore + etichetta localizzata). Le colonne dipendenti portano depends_on e choices_by_parent; le colonne cross-task portano source.



## OpenAPI

````yaml get /api/v1/v-ciso/organizations/{organizationid}/workflows/{workflowid}/tasks/{taskid}/spec
openapi: 3.1.0
info:
  title: Aegister API
  version: 1.0.5
servers: []
security: []
paths:
  /api/v1/v-ciso/organizations/{organizationid}/workflows/{workflowid}/tasks/{taskid}/spec:
    get:
      tags:
        - V-CISO • Workflows
      summary: JSON column spec for a table task
      description: >-
        Machine-readable contract for a table task: each column's type,
        required, declarative `format`, and allowed `choices` (incl. cross-task
        and dependent `choices_by_parent`). Use it to build an import payload.
      operationId: v-ciso-task-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: path
          name: taskid
          schema:
            type: string
          required: true
        - 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:
                      task_id:
                        type: string
                      title:
                        type: object
                        properties:
                          en:
                            type: string
                          it:
                            type: string
                      description:
                        type: object
                        properties:
                          en:
                            type: string
                          it:
                            type: string
                      columns:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: object
                              properties:
                                en:
                                  type: string
                                it:
                                  type: string
                            type:
                              type: string
                              description: >-
                                text|textarea|date|datetime|time|radio|select|checkbox|number|email|tel|url|file
                            multiple:
                              type: boolean
                            required:
                              type: boolean
                            editable:
                              type: boolean
                            custom:
                              type: boolean
                              description: accepts a free 'Other' value
                            choices:
                              type:
                                - array
                                - 'null'
                              items:
                                type: object
                                properties:
                                  value:
                                    type: string
                                  label:
                                    type: object
                                    properties:
                                      en:
                                        type: string
                                      it:
                                        type: string
                            depends_on:
                              type:
                                - string
                                - 'null'
                              description: parent column id (dependent column)
                            choices_by_parent:
                              type:
                                - object
                                - 'null'
                              description: parentValue → allowed child choices
                            source:
                              type:
                                - object
                                - 'null'
                              description: cross-task provenance {task, column}
                            format:
                              type: object
                              description: >-
                                declarative accepted format, e.g. {kind:'date',
                                pattern:'YYYY-MM-DD'}
          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

````