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

# List Columns

> List columns in a sheet, ordered by position rank. By default, system-managed metadata columns such as price and latency columns are excluded; pass `include_system_columns=true` to include them. Requests are scoped to the workspace associated with the API key; table, sheet, column, cell, operation, and version IDs must belong to that workspace.

List all columns in a sheet, ordered by their position rank.

Each column has a `type` that determines how its cells are populated:

* `TEXT` — Input column with editable free-text cells.
* `COMPOSITION` — Reference column that mirrors a value from another sheet or table.
* All other supported enum values — Computed columns that run per row (for example `PROMPT_TEMPLATE`, `CODE_EXECUTION`, `COMPARE`, `LLM_ASSERTION`).

Responses use uppercase enum strings. Create-column requests also accept lowercase aliases such as `text`, `comparison`, and `composition`, which are normalized to the uppercase enum.


## OpenAPI

````yaml GET /api/public/v2/tables/{table_id}/sheets/{sheet_id}/columns
openapi: 3.1.0
info:
  title: PromptLayer API
  description: >-
    REST API for PromptLayer: prompt template management, request logging,
    observability, evaluations, and workflows.
  version: 1.0.0
servers: []
security:
  - ApiKeyAuth: []
paths:
  /api/public/v2/tables/{table_id}/sheets/{sheet_id}/columns:
    get:
      tags:
        - smart-tables
      summary: List Columns
      description: >-
        List columns in a sheet, ordered by position rank. By default,
        system-managed metadata columns such as price and latency columns are
        excluded; pass `include_system_columns=true` to include them. Requests
        are scoped to the workspace associated with the API key; table, sheet,
        column, cell, operation, and version IDs must belong to that workspace.
      operationId: list_table_sheet_columns
      parameters:
        - name: table_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: sheet_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: include_system_columns
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            When true, include system-managed metadata columns such as price and
            latency columns for prompt-template outputs.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: List of columns
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Column'
                  next_cursor:
                    type: string
                    nullable: true
                  has_more:
                    type: boolean
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: Table or sheet not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Column:
      type: object
      description: A column within a Table sheet.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the column.
        sheet_id:
          type: string
          format: uuid
        workspace_id:
          type: integer
          description: >-
            Workspace that owns this resource; determined by the authenticated
            request scope.
        title:
          type: string
          description: Display title of the column.
        type:
          $ref: '#/components/schemas/TableColumnType'
        config:
          type: object
          description: Type-specific configuration. Shape depends on the column type.
        position_rank:
          type: number
          description: Fractional position rank used for ordering.
        is_output_column:
          type: boolean
          description: Whether this column is designated as an output column.
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          default: false
          description: Indicates that the request failed.
        message:
          type: string
          description: Human-readable error message.
        error:
          type: string
          description: Machine-readable or fallback error message.
      additionalProperties: true
      description: >-
        Standard error response. Some legacy endpoints may return either message
        or error.
    TableColumnType:
      type: string
      description: >-
        Smart Table column type. Use uppercase backend enum values. Input: TEXT.
        Reference (Tables only, not in legacy evaluation/workflow enums):
        COMPOSITION. Computed: all other listed values. Create requests also
        accept lowercase aliases (text, prompt_template, llm, code, score,
        comparison, composition), which are normalized to uppercase. Legacy
        DATASET columns are not creatable.
      enum:
        - TEXT
        - ABSOLUTE_NUMERIC_DISTANCE
        - AI_DATA_EXTRACTION
        - APPLY_DIFF
        - ASSERT_VALID
        - COALESCE
        - CONDITION
        - CODE_EXECUTION
        - COMBINE_COLUMNS
        - COMPARE
        - COMPOSITION
        - CONTAINS
        - CONVERSATION_SIMULATOR
        - COSINE_SIMILARITY
        - COUNT
        - ENDPOINT
        - FOR_LOOP
        - HUMAN
        - JSON_PATH
        - LLM_ASSERTION
        - MATH_OPERATOR
        - MCP
        - MIN_MAX
        - PARSE_VALUE
        - PROMPT_TEMPLATE
        - REGEX
        - REGEX_EXTRACTION
        - VARIABLE
        - WHILE_LOOP
        - WORKFLOW
        - XML_PATH
  responses:
    UnauthorizedError:
      description: Unauthorized - missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````