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

# Browse Columns

> List columns for a remote table.



## OpenAPI

````yaml GET /orgs/{org_id}/connectors/{connector_id}/browse/columns
openapi: 3.1.0
info:
  title: Timbal Platform API
  description: Public API documentation for the Timbal platform
  license:
    name: ''
  version: 2.0.0
servers:
  - url: https://api.timbal.ai
    description: Production
  - url: https://api.dev.timbal.ai
    description: Development
security: []
tags:
  - name: ace
    description: Action Control Engine (ACE) operations
  - name: alarms
    description: Metric series and threshold alarms
  - name: analytics
    description: Org and project analytics
  - name: billing
    description: Subscriptions, usage, and payment-related operations
  - name: channels
    description: Delivery channels alarms notify through
  - name: content
    description: Re-sign stored content URLs
  - name: files
    description: File operations
  - name: iam
    description: IAM — actions, roles, users, and authorization introspection
  - name: k2
    description: Knowledge Bases v2 operations
  - name: orgs
    description: Organization operations
  - name: projects
    description: Project operations
  - name: runs
    description: Execution operations
  - name: templates
    description: Public project template catalog
  - name: users
    description: Authenticated user profile
paths:
  /orgs/{org_id}/connectors/{connector_id}/browse/columns:
    get:
      tags:
        - connectors
      summary: '`GET /orgs/{org_id}/connectors/{connector_id}/browse/columns`'
      description: List columns for a remote table.
      operationId: columns
      parameters:
        - name: org_id
          in: path
          required: true
          schema:
            type: string
        - name: connector_id
          in: path
          required: true
          schema:
            type: string
        - name: connection_ref
          in: query
          required: true
          schema:
            type: string
        - name: schema
          in: query
          required: true
          schema:
            type: string
        - name: table
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Columns listed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnsRes'
        '403':
          description: Forbidden
        '404':
          description: Connector not found
        '422':
          description: Connector offline / refused / timed out
      security:
        - bearer_auth: []
components:
  schemas:
    ColumnsRes:
      type: object
      required:
        - columns
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/ColumnView'
    ColumnView:
      type: object
      required:
        - name
        - data_type
        - nullable
        - cursor_candidate
      properties:
        comment:
          type:
            - string
            - 'null'
          description: >-
            Column description from the source's own doc mechanism (`COMMENT
            ON`,

            `MS_Description`, `COLUMN_COMMENT`).
        cursor_candidate:
          type: boolean
          description: Usable as the extract job's `cursor_column`.
        data_type:
          type: string
        default:
          type:
            - string
            - 'null'
          description: |-
            Column default expression, verbatim from the source
            (`nextval('t_id_seq')`, `(getdate())`, …). `null` = no default, or a
            pre-0.1.25 node.
        generated:
          type:
            - boolean
            - 'null'
          description: Computed/generated column.
        identity:
          type:
            - boolean
            - 'null'
          description: |-
            Auto-assigned by the source (identity / serial / auto_increment) —
            the ideal extract cursor when integer-typed.
        max_length:
          type:
            - integer
            - 'null'
          format: int64
          description: |-
            Declared max character length for string types; `-1` = unbounded
            (`varchar(max)`, `text`).
        name:
          type: string
        nullable:
          type: boolean
        numeric_precision:
          type:
            - integer
            - 'null'
          format: int32
          description: Numeric precision (total digits).
        numeric_scale:
          type:
            - integer
            - 'null'
          format: int32
          description: Numeric scale (fraction digits).
        pk_position:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            1-based position in the table's primary key, or `null` if not a key

            column. Order matters — it's the merge key for upsert syncs and the

            keyset tiebreaker, both of which need composite columns in declared

            order. Always `null` from nodes older than key discovery; tell "no
            PK"

            from "old node" by node version, not by an all-`null` column set.
          minimum: 0
        unique:
          type:
            - boolean
            - 'null'
          description: >-
            `true` when the column alone is guaranteed unique (sole key of a
            unique

            index or the PK) — a unique cursor keeps incremental extraction on
            the

            cheap scalar path; a non-unique one needs a PK tie-breaker. `null`
            from

            nodes older than the hint (0.1.25): unknown, not "not unique".
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: >-
        Timbal API key. Obtain your API key from the Timbal platform settings.
        See [Authentication](/api-reference/authentication) for more
        information.

````