---
title: "Get Validation Columns"
method: GET
path: "/feedback-queues/{queue_id}/validation-columns"
tags: ["scorer-feedback"]
---

# Get Validation Columns

`GET /feedback-queues/{queue_id}/validation-columns`

Get column definitions for the autotune validation results table.

Returns the column metadata needed to render the validation results table,
including input/output columns, feedback columns, and scorer metric columns.

**Errors:**
- 404 - Queue not found or user doesn't have access

## Path parameters

- `queue_id` string, uuid, required

## Response `200`

Successful Response

- AutotuneValidationColumnsResponse — Response for the autotune validation columns endpoint.
  - `columns` LogRecordsColumnInfo[] — Column definitions for the validation results table
    - `id` string, required — Column id. Must be universally unique.
    - `label` string, nullable — Display label of the column in the UI.
    - `category` 'standard' | 'metric' | 'user_metadata' | 'metric_status' | 'dataset_metadata' | 'dataset' | 'feedback' | 'tags', required
    - `description` string, nullable — Description of the column.
    - `group_label` string, nullable — Display label of the column group.
    - `data_type` 'uuid' | 'text' | 'integer' | 'floating_point' | 'boolean' | 'timestamp' | 'string_list' | 'tag' | 'dataset' | 'prompt' | 'playground' | 'rank' | 'category_count' | 'score_rating_aggregate' | 'star_rating_aggregate' | 'thumb_rating_aggregate' | 'tags_rating_aggregate' | 'text_rating_aggregate' | 'annotation_agreement' | 'fully_annotated', required
    - `data_unit` 'percentage' | 'nano_seconds' | 'milli_seconds' | 'dollars' | 'count_and_total'
    - `multi_valued` boolean — Whether the column is multi-valued.
    - `allowed_values` unknown[], nullable — Allowed values for this column.
      - unknown
    - `sortable` boolean — Whether the column is sortable.
    - `filterable` boolean — Whether the column is filterable.
    - `is_empty` boolean — Indicates whether the column is empty and should be hidden.
    - `applicable_types` StepType[] — List of types applicable for this column.
    - `is_optional` boolean — Whether the column is optional.
    - `roll_up_method` string, nullable — Default roll-up aggregation method for this metric (e.g., 'sum', 'average').
    - `metric_key_alias` string, nullable — Alternate metric key for this column. When scorer UUIDs are used as column IDs, this holds the legacy metric_name string for dual-key ClickHouse query fallback.
    - `scorer_config` RuntimeScorerConfig — Hydrated scorer config used at runtime. Never persisted directly. Produced by hydrate_scorer_config from a StoredScorerConfig + live DB rows.
      - `id` string, uuid4, required
      - `scorer_version_id` string, uuid4, nullable
      - `filters` union[], nullable — List of filters to apply to the scorer.
        - union
          - NodeNameFilter — Filters on node names in scorer jobs.
            - `name` 'node_name'
            - `operator` 'eq' | 'ne' | 'contains' | 'one_of' | 'not_in', required
            - `value` union, required
              - …
            - `case_sensitive` boolean
          - MetadataFilter — Filters on metadata key-value pairs in scorer jobs.
            - `name` 'metadata'
            - `operator` 'one_of' | 'not_in' | 'eq' | 'ne', required
            - `key` string, required
            - `value` union, required
              - …
          - ModalityFilter — Filters on content modalities in scorer jobs. Matches if at least one of the specified modalities is present.
            - `name` 'modality'
            - `operator` 'eq' | 'ne' | 'one_of' | 'not_in', required
            - `value` union, required
              - …
      - `roll_up_method` 'average' | 'sum' | 'max' | 'min' | 'category_count' | 'percentage_true' | 'percentage_false' — Display options for roll up methods when showing rolled up metrics in the UI. Separates display intent from computation methods. The computation methods (NumericRollUpMethod, CategoricalRollUpMethod) control what aggregations are available. This enum controls how the UI displays the selected roll-up value for a scorer.
      - `name` string, nullable
      - `scorer_type` 'llm' | 'code' | 'luna' | 'preset'
      - `model_name` string, nullable
      - `num_judges` integer, nullable
      - `scorer_version` BaseScorerVersionDB — Scorer version from the scorer_versions table.
        - `id` string, uuid4, required
        - `version` integer, required
        - `scorer_id` string, uuid4, required
        - `generated_scorer` BaseGeneratedScorerDB
          - `id` string, uuid4, required
          - `name` string, required
          - `instructions` string, nullable
          - `chain_poll_template` ChainPollTemplate, required — Template for a chainpoll metric prompt, containing all the info necessary to send a chainpoll prompt.
            - `metric_system_prompt` string, nullable — System prompt for the metric.
            - `metric_description` string, nullable — Description of what the metric should do.
            - `value_field_name` string — Field name to look for in the chainpoll response, for the rating.
            - `explanation_field_name` string — Field name to look for in the chainpoll response, for the explanation.
            - `template` string, required — Chainpoll prompt template.
            - `metric_few_shot_examples` FewShotExample[] — Few-shot examples for the metric.
              - …
            - `response_schema` object, nullable — Response schema for the output
          - `user_prompt` string, nullable
        - `registered_scorer` BaseRegisteredScorerDB
          - `id` string, uuid4, required
          - `name` string, required
          - `score_type` string, nullable
        - `finetuned_scorer` BaseFinetunedScorerDB
          - `id` string, uuid4, required
          - `name` string, required
          - `lora_task_id` integer, required
          - `lora_weights_path` string, nullable
          - `prompt` string, required
          - `luna_input_type` 'span' | 'trace_object' | 'trace_input_output_only'
          - `luna_output_type` 'float' | 'string' | 'string_list' | 'bool_list'
          - `class_name_to_vocab_ix` union
            - object
            - object
          - `executor` 'action_completion_luna' | 'action_advancement_luna' | 'agentic_session_success' | 'agentic_session_success' | 'action_completion_vision' | 'action_completion_audio' | 'agentic_workflow_success' | 'agentic_workflow_success' | 'agent_efficiency' | 'agent_flow' | 'agent_flow_vision' | 'agent_flow_audio' | 'chunk_attribution_utilization_luna' | 'chunk_attribution_utilization' | 'chunk_relevance' | 'chunk_relevance_luna' | 'context_precision' | 'precision_at_k' | 'completeness_luna' | 'completeness' | 'context_adherence' | 'context_adherence_luna' | 'context_adherence_vision' | 'context_adherence_audio' | 'context_relevance' | 'context_relevance_luna' | 'conversation_quality' | 'conversation_quality_vision' | 'conversation_quality_audio' | 'correctness' | 'correctness_vision' | 'correctness_audio' | 'ground_truth_adherence' | 'ground_truth_adherence_vision' | 'ground_truth_adherence_audio' | 'visual_fidelity' | 'visual_quality' | 'input_pii' | 'input_pii_gpt' | 'input_sexist' | 'input_sexist' | 'input_sexist_vision' | 'input_sexist_audio' | 'input_sexist_luna' | 'input_sexist_luna' | 'input_tone' | 'input_tone_gpt' | 'input_toxicity' | 'input_toxicity_luna' | 'input_toxicity_vision' | 'input_toxicity_audio' | 'instruction_adherence' | 'instruction_adherence_vision' | 'instruction_adherence_audio' | 'output_pii' | 'output_pii_gpt' | 'output_sexist' | 'output_sexist' | 'output_sexist_vision' | 'output_sexist_audio' | 'output_sexist_luna' | 'output_sexist_luna' | 'output_tone' | 'output_tone_gpt' | 'output_toxicity' | 'output_toxicity_luna' | 'output_toxicity_vision' | 'output_toxicity_audio' | 'prompt_injection' | 'prompt_injection_vision' | 'prompt_injection_audio' | 'prompt_injection_luna' | 'reasoning_coherence' | 'reasoning_coherence_vision' | 'reasoning_coherence_audio' | 'sql_efficiency' | 'sql_adherence' | 'sql_injection' | 'sql_correctness' | 'tool_error_rate' | 'tool_error_rate_luna' | 'tool_selection_quality' | 'tool_selection_quality_vision' | 'tool_selection_quality_audio' | 'tool_selection_quality_luna' | 'user_intent_change' | 'user_intent_change_vision' | 'user_intent_change_audio' | 'interruption_detection'
        - `model_name` string, nullable
        - `num_judges` integer, nullable
        - `cot_enabled` boolean, nullable — Whether to enable chain of thought for this scorer. Defaults to False for llm scorers.
      - `scoreable_node_types` string[], nullable — List of node types that can be scored by this scorer. Defaults to llm/chat.
      - `cot_enabled` boolean, nullable — Whether to enable chain of thought for this scorer. Defaults to False for llm scorers.
      - `output_type` 'boolean' | 'categorical' | 'count' | 'discrete' | 'freeform' | 'percentage' | 'multilabel' | 'retrieved_chunk_list_boolean' | 'boolean_multilabel' — Enumeration of output types.
      - `input_type` 'basic' | 'llm_spans' | 'retriever_spans' | 'sessions_normalized' | 'sessions_trace_io_only' | 'tool_spans' | 'trace_input_only' | 'trace_io_only' | 'trace_normalized' | 'trace_output_only' | 'agent_spans' | 'workflow_spans' — Enumeration of input types.
      - `multimodal_capabilities` MultimodalCapability[], nullable — Multimodal capabilities which this scorer can utilize in its evaluation.
      - `roll_up_config` BaseMetricRollUpConfigDB — Configuration for rolling up metrics to parent/trace/session.
        - `roll_up_methods` union, required — List of roll up methods to apply to the metric. For numeric scorers we support doing multiple roll up types per metric.
          - NumericRollUpMethod[]
          - CategoricalRollUpMethod[]
      - `score_type` string, nullable — Return type of code scorers (e.g., 'bool', 'int', 'float', 'str').
    - `scorer_id` string, uuid4, nullable — For metric columns only: Scorer id that produced the metric. This is deprecated and will be removed in future versions.
    - `insight_type` 'vertical_bar' | 'horizontal_bar'
    - `filter_type` 'id' | 'date' | 'number' | 'boolean' | 'text' | 'collection' | 'fully_annotated'
    - `threshold` MetricThreshold — Threshold configuration for metrics. Defines how metric values are bucketed and displayed, including whether lower or higher values are considered better.
      - `inverted` boolean — Whether the column should be inverted for thresholds, i.e. if True, lower is better.
      - `buckets` union[] — Threshold buckets for the column. If the column is a metric, these are the thresholds for the column.
        - union
          - integer
          - number
      - `display_value_levels` string[] — Ordered list of strings that raw values get transformed to for displaying.
    - `label_color` 'positive' | 'negative', nullable — Type of label color for the column, if this is a multilabel metric column.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/galileo/apis/galileo-api-server.md) · [All operations](https://skmtc.net/galileo/apis/galileo-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo/galileo-api-server/versions/933e8c8e6366/schema)
