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

# List smart fields

> Returns a paginated list of smart fields (attribute definitions) in your organization. Supports cursor-based pagination, sorting, and filtering.



## OpenAPI

````yaml /openapi-2025-01-29.alpha.json get /smart-fields
openapi: 3.0.0
info:
  title: Tomorro API
  description: >
    The Tomorro Public API enables you to programmatically manage contracts,
    members, and counterparties. Build powerful integrations that automate your
    contract management workflows.


    ## API Version: 2025-01-29.alpha


    This documentation is for API version `2025-01-29.alpha`.


    ### Using this version

    ```

    curl -X GET https://api.tomorro.com/members \
      -H "x-api-key: YOUR_API_KEY" \
      -H "tomorro-version: 2025-01-29.alpha"
    ```
  version: 2025-01-29.alpha
  contact: {}
servers:
  - url: https://api.tomorro.com/v2
    description: Production
  - url: https://api.demo.tomorro.com/v2
    description: Demo
  - url: http://localhost:3015
    description: Local Development
security: []
tags: []
paths:
  /smart-fields:
    get:
      tags:
        - Smart Fields
      summary: List smart fields
      description: >-
        Returns a paginated list of smart fields (attribute definitions) in your
        organization. Supports cursor-based pagination, sorting, and filtering.
      operationId: SmartFieldController_listSmartFields
      parameters:
        - name: limit
          required: false
          in: query
          description: Number of items per page (1-50)
          schema:
            minimum: 1
            maximum: 50
            default: 20
            example: 20
            type: number
        - name: after
          required: false
          in: query
          description: >-
            Cursor for forward pagination. Use the `next_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEyMyJ9
            type: string
        - name: before
          required: false
          in: query
          description: >-
            Cursor for backward pagination. Use the `prev_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEwMCJ9
            type: string
        - name: object
          required: false
          in: query
          description: >-
            Filter by object type. Formats: `object=contract` (equality),
            `object=in:contract,external_party` (in list)
          schema:
            example: contract
            type: string
        - name: lang
          required: false
          in: query
          description: >-
            Language code for the smart field name. Falls back to the default
            name when no translation exists.
          schema:
            example: gb
            type: string
            enum:
              - fr
              - gb
              - us
              - es
              - de
              - it
              - nl
              - ru
              - pt
              - br
              - jp
              - gr
              - pl
              - si
              - id
              - zh-cn
              - zh-tw
              - hi
              - vi
              - uk
              - th
              - bg
              - hr
              - dk
              - ee
              - fi
              - hu
              - ie
              - lv
              - lt
              - ro
              - sk
              - se
              - cz
              - 'no'
              - uz
              - tj
              - at
              - is
              - rs
      responses:
        '200':
          description: List of smart fields with pagination info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartFieldListResponseDto'
        '401':
          description: Unauthorized - Invalid or missing API key
        '403':
          description: Forbidden - Insufficient permissions
        '429':
          description: Too Many Requests - Rate limit exceeded
      security:
        - X-API-KEY: []
components:
  schemas:
    SmartFieldListResponseDto:
      type: object
      properties:
        data:
          description: An array of SmartField objects.
          example:
            - id: 550e8400-e29b-41d4-a716-446655440000
              name: Contract Value
              type: number
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldResponseDto'
        pagination:
          description: Pagination metadata including cursors and navigation flags.
          example:
            limit: 20
            next_cursor: eyJpZCI6IjEyMyJ9
            prev_cursor: eyJpZCI6IjEwMCJ9
            has_next: true
            has_previous: false
          allOf:
            - $ref: '#/components/schemas/PaginationMetaDto'
        links:
          description: HATEOAS navigation links for pagination.
          example:
            self: /smart-fields?limit=20
            next: /smart-fields?limit=20&after=eyJpZCI6IjEyMyJ9
            prev: /smart-fields?limit=20&before=eyJpZCI6IjEwMCJ9
          allOf:
            - $ref: '#/components/schemas/PaginationLinksDto'
      required:
        - data
        - pagination
        - links
    SmartFieldResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the smart field.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: The display name of the smart field.
          example: Contract Value
        type:
          type: string
          description: |-
            The data type of the smart field.

            - `string`: Free-text field.
            - `number`: Numeric value.
            - `date`: Date value.
            - `select`: Single-choice dropdown.
            - `multiselect`: Multi-choice dropdown.
            - `duration`: Time duration.
            - `file`: File attachment.
            - `rich_text`: Rich text content.
          enum:
            - string
            - number
            - date
            - select
            - duration
            - multiselect
            - file
            - rich_text
          example: string
        options:
          description: >-
            Available options. Only present for `select` and `multiselect`
            types.
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionDto'
      required:
        - id
        - name
        - type
    PaginationMetaDto:
      type: object
      properties:
        limit:
          type: number
          description: The number of items per page.
          example: 20
        next_cursor:
          type: string
          description: >-
            Cursor for fetching the next page. Use with the `after` query
            parameter.
          nullable: true
          example: eyJpZCI6IjEyMyJ9
        prev_cursor:
          type: string
          description: >-
            Cursor for fetching the previous page. Use with the `before` query
            parameter.
          nullable: true
          example: eyJpZCI6IjEwMCJ9
        has_next:
          type: boolean
          description: Whether there are more items available after this page.
          example: true
        has_previous:
          type: boolean
          description: Whether there are items available before this page.
          example: false
      required:
        - limit
        - next_cursor
        - prev_cursor
        - has_next
        - has_previous
    PaginationLinksDto:
      type: object
      properties:
        self:
          type: string
          description: URL of the current page.
          example: /members?limit=20
        next:
          type: string
          description: URL to fetch the next page. Null if there is no next page.
          nullable: true
          example: /members?limit=20&after=eyJpZCI6IjEyMyJ9
        prev:
          type: string
          description: URL to fetch the previous page. Null if there is no previous page.
          nullable: true
          example: /members?limit=20&before=eyJpZCI6IjEwMCJ9
      required:
        - self
        - next
        - prev
    SmartFieldOptionDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the option.
          example: 550e8400-e29b-41d4-a716-446655440001
        translations:
          description: Translated labels for this option.
          example:
            - language: fr
              value: Technology
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionTranslationDto'
        integrationMappings:
          description: Integration mappings for this option.
          example:
            - type: hubspot
              externalId: industry_tech
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionIntegrationMappingDto'
      required:
        - id
        - translations
        - integrationMappings
    SmartFieldOptionTranslationDto:
      type: object
      properties:
        language:
          type: string
          description: Language code.
          enum:
            - fr
            - gb
            - us
            - es
            - de
            - it
            - nl
            - ru
            - pt
            - br
            - jp
            - gr
            - pl
            - si
            - id
            - zh-cn
            - zh-tw
            - hi
            - vi
            - uk
            - th
            - bg
            - hr
            - dk
            - ee
            - fi
            - hu
            - ie
            - lv
            - lt
            - ro
            - sk
            - se
            - cz
            - 'no'
            - uz
            - tj
            - at
            - is
            - rs
          example: gb
        value:
          type: string
          description: Translated label for this option.
          example: Technology
      required:
        - language
        - value
    SmartFieldOptionIntegrationMappingDto:
      type: object
      properties:
        type:
          type: string
          description: Integration type.
          enum:
            - import
            - generation
            - outlook
            - gmail
            - salesforce
            - hubspot
            - app
          example: hubspot
        externalId:
          type: string
          description: External identifier for this option in the integration.
          example: industry_tech
      required:
        - type
        - externalId
  securitySchemes:
    X-API-KEY:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Get your key at
        https://app.tomorro.com/settings/integrations?integration=api-key

````