> ## 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 Table Sheet Columns

> Retrieve columns from a Table sheet.

List columns for a Table sheet using cursor pagination. Results are sorted by `position_rank`; use `order=asc` or `order=desc` to control direction.

Columns are returned in sheet order and include dependency and source metadata for clients that need to render or recreate column configuration.

Columns are returned in `data`. Pagination metadata is returned in `pagination`, including `next_cursor`, `has_more`, and `limit`.

Treat `next_cursor` as opaque. It includes the current sort, order, cursor value, and a hash of the active filters. Reuse a cursor only with the same `sort`, `order`, and filter parameters from the request that produced it; changing any of those while passing an old cursor returns an invalid cursor error.


## OpenAPI

````yaml GET /api/public/v2/tables/{table_id}/sheets/{sheet_id}/columns
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.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:
          type: string
          description: >-
            Column type. 'text' columns store free-text; 'prompt_template',
            'llm', 'code', 'score', 'comparison', and 'composition' columns run
            automated computations.
          enum:
            - text
            - prompt_template
            - llm
            - code
            - score
            - comparison
            - composition
        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.
  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

````