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

# Convert field type

> Convert field to a different type with automatic type casting and symmetric field handling



## OpenAPI

````yaml /swagger.json put /table/{tableId}/field/{fieldId}/convert
openapi: 3.0.0
info:
  version: 1.0.0
  title: Teable App
  description: Manage Data as easy as drink a cup of tea
  x-logo:
    backgroundColor: '#F0F0F0'
    altText: Teable logo
servers:
  - url: https://app.teable.ai/api
security: []
paths:
  /table/{tableId}/field/{fieldId}/convert:
    put:
      tags:
        - field
      summary: Convert field type
      description: >-
        Convert field to a different type with automatic type casting and
        symmetric field handling
      parameters:
        - schema:
            type: string
          required: true
          name: tableId
          in: path
        - schema:
            type: string
          required: true
          name: fieldId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - singleLineText
                    - longText
                    - user
                    - attachment
                    - checkbox
                    - multipleSelect
                    - singleSelect
                    - date
                    - number
                    - rating
                    - formula
                    - rollup
                    - conditionalRollup
                    - link
                    - createdTime
                    - lastModifiedTime
                    - createdBy
                    - lastModifiedBy
                    - autoNumber
                    - button
                  description: The field types supported by teable.
                  example: singleSelect
                name:
                  type: string
                  minLength: 1
                unique:
                  type: boolean
                  description: Whether this field is not unique.
                notNull:
                  type: boolean
                  description: Whether this field is not null.
                dbFieldName:
                  type: string
                  minLength: 1
                  pattern: ^\w{0,63}$
                  description: >-
                    Field(column) name in backend database. Limitation: 1-63
                    characters, can only contain letters, numbers and
                    underscore, case sensitive, cannot be duplicated with
                    existing db field name in the table.
                isLookup:
                  type: boolean
                  description: >-
                    Whether this field is lookup field. witch means cellValue
                    and [fieldType] is looked up from the linked table.
                isConditionalLookup:
                  type: boolean
                  description: >-
                    Whether this lookup field applies a conditional filter when
                    resolving linked records.
                description:
                  type: string
                  nullable: true
                  description: The description of the field.
                  example: this is a summary
                lookupOptions:
                  anyOf:
                    - type: object
                      properties:
                        foreignTableId:
                          type: string
                          description: the table this field is linked to
                        lookupFieldId:
                          type: string
                          description: >-
                            the field in the foreign table that will be
                            displayed as the current field
                        linkFieldId:
                          type: string
                          description: The id of Linked record field to use for lookup
                        filter:
                          type: object
                          description: >-
                            A filter object for complex query conditions based
                            on fields, operators, and values. Use our visual
                            query builder at
                            https://app.teable.ai/developer/tool/query-builder
                            to build filters.
                      required:
                        - foreignTableId
                        - lookupFieldId
                        - linkFieldId
                      additionalProperties: false
                    - type: object
                      properties:
                        baseId:
                          type: string
                          description: >-
                            the base id of the table that this field is linked
                            to, only required for cross base link
                        foreignTableId:
                          type: string
                          description: the table this field is linked to
                        lookupFieldId:
                          type: string
                          description: >-
                            the field in the foreign table that will be
                            displayed as the current field
                        filter:
                          type: object
                          description: >-
                            Filter to apply when resolving conditional lookup
                            values.
                        sort:
                          type: object
                          properties:
                            fieldId:
                              type: string
                              description: >-
                                The field in the foreign table used to order
                                lookup records.
                            order:
                              type: string
                              enum:
                                - asc
                                - desc
                              description: Ordering direction to apply to the sorted field.
                          required:
                            - fieldId
                            - order
                          description: >-
                            Optional sort configuration applied before
                            aggregating lookup values.
                        limit:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 5000
                          description: >-
                            Maximum number of matching records to include in the
                            lookup result.
                      required:
                        - foreignTableId
                        - lookupFieldId
                        - filter
                      additionalProperties: false
                  description: >-
                    The lookup options for field, you need to configure it when
                    isLookup attribute is true or field type is rollup.
                options:
                  anyOf:
                    - type: object
                      properties:
                        expression:
                          type: string
                          enum:
                            - countall({values})
                            - counta({values})
                            - count({values})
                            - sum({values})
                            - average({values})
                            - max({values})
                            - min({values})
                            - and({values})
                            - or({values})
                            - xor({values})
                            - array_join({values})
                            - array_unique({values})
                            - array_compact({values})
                            - concatenate({values})
                        timeZone:
                          type: string
                          description: The time zone that should be used to format dates
                        formatting:
                          description: >-
                            Different cell value types are determined based on
                            the results of expression parsing
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - url
                                    - email
                                    - phone
                                  description: >-
                                    can display as url, email or phone in string
                                    field with a button to perform the
                                    corresponding action, start a phone call,
                                    send an email, or open a link in a new tab
                              required:
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            According to the results of expression parsing to
                            determine different visual effects, where strings,
                            numbers will provide customized "show as"
                      required:
                        - expression
                      additionalProperties: false
                    - type: object
                      properties:
                        expression:
                          type: string
                          enum:
                            - countall({values})
                            - counta({values})
                            - count({values})
                            - sum({values})
                            - average({values})
                            - max({values})
                            - min({values})
                            - and({values})
                            - or({values})
                            - xor({values})
                            - array_join({values})
                            - array_unique({values})
                            - array_compact({values})
                            - concatenate({values})
                        timeZone:
                          type: string
                          description: The time zone that should be used to format dates
                        formatting:
                          description: >-
                            Different cell value types are determined based on
                            the results of expression parsing
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - url
                                    - email
                                    - phone
                                  description: >-
                                    can display as url, email or phone in string
                                    field with a button to perform the
                                    corresponding action, start a phone call,
                                    send an email, or open a link in a new tab
                              required:
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            According to the results of expression parsing to
                            determine different visual effects, where strings,
                            numbers will provide customized "show as"
                        baseId:
                          type: string
                        foreignTableId:
                          type: string
                        lookupFieldId:
                          type: string
                        filter:
                          type: object
                          description: >-
                            A filter object for complex query conditions based
                            on fields, operators, and values. Use our visual
                            query builder at
                            https://app.teable.ai/developer/tool/query-builder
                            to build filters.
                        sort:
                          type: object
                          properties:
                            fieldId:
                              type: string
                            order:
                              type: string
                              enum:
                                - asc
                                - desc
                          required:
                            - fieldId
                            - order
                        limit:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 5000
                      required:
                        - expression
                      additionalProperties: false
                    - type: object
                      properties:
                        expression:
                          type: string
                          description: >-
                            The formula including fields referenced by their
                            IDs. For example, LEFT(4, {Birthday}) input will be
                            returned as LEFT(4, {fldXXX}) via API.
                        timeZone:
                          type: string
                          description: The time zone that should be used to format dates
                        formatting:
                          description: >-
                            Different cell value types are determined based on
                            the results of expression parsing
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - url
                                    - email
                                    - phone
                                  description: >-
                                    can display as url, email or phone in string
                                    field with a button to perform the
                                    corresponding action, start a phone call,
                                    send an email, or open a link in a new tab
                              required:
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            According to the results of expression parsing to
                            determine different visual effects, where strings,
                            numbers will provide customized "show as"
                      required:
                        - expression
                      additionalProperties: false
                    - type: object
                      properties:
                        baseId:
                          type: string
                          description: >-
                            the base id of the table that this field is linked
                            to, only required for cross base link
                        relationship:
                          type: string
                          enum:
                            - oneOne
                            - manyMany
                            - oneMany
                            - manyOne
                          description: >-
                            describe the relationship from this table to the
                            foreign table
                        foreignTableId:
                          type: string
                          description: the table this field is linked to
                        lookupFieldId:
                          type: string
                          description: >-
                            the field in the foreign table that will be
                            displayed as the current field
                        isOneWay:
                          type: boolean
                          description: >-
                            whether the field is a one-way link, when true, it
                            will not generate a symmetric field, it is generally
                            has better performance
                        fkHostTableName:
                          type: string
                          description: >-
                            the table name for storing keys, in many-to-many
                            relationships, keys are stored in a separate
                            intermediate table; in other relationships, keys are
                            stored on one side as needed
                        selfKeyName:
                          type: string
                          description: >-
                            the name of the field that stores the current table
                            primary key
                        foreignKeyName:
                          type: string
                          description: >-
                            The name of the field that stores the foreign table
                            primary key
                        symmetricFieldId:
                          type: string
                          description: >-
                            the symmetric field in the foreign table, empty if
                            the field is a one-way link
                        filterByViewId:
                          type: string
                          nullable: true
                          description: >-
                            the view id that limits the number of records in the
                            link field
                        visibleFieldIds:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: the fields that will be displayed in the link field
                        filter:
                          type: object
                          description: >-
                            A filter object for complex query conditions based
                            on fields, operators, and values. Use our visual
                            query builder at
                            https://app.teable.ai/developer/tool/query-builder
                            to build filters.
                      required:
                        - relationship
                        - foreignTableId
                        - lookupFieldId
                        - fkHostTableName
                        - selfKeyName
                        - foreignKeyName
                      additionalProperties: false
                    - type: object
                      properties:
                        formatting:
                          type: object
                          properties:
                            date:
                              type: string
                              description: >-
                                the display formatting of the date. you can use
                                the following presets: M/D/YYYY, D/M/YYYY,
                                YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                MM, DD
                            time:
                              type: string
                              enum:
                                - HH:mm
                                - hh:mm A
                                - None
                              description: >-
                                the display formatting of the time. you can use
                                the following presets: HH:mm, hh:mm A, None
                            timeZone:
                              type: string
                              description: >-
                                The time zone that should be used to format
                                dates
                          required:
                            - date
                            - time
                            - timeZone
                          description: >-
                            caveat: the formatting is just a formatter, it dose
                            not effect the storing value of the record
                        defaultValue:
                          type: string
                          nullable: true
                          enum:
                            - now
                          description: >-
                            Whether the new row is automatically filled with the
                            current time, caveat: the defaultValue is just a
                            flag, it dose not effect the storing value of the
                            record
                      required:
                        - formatting
                      additionalProperties: false
                    - type: object
                      properties:
                        defaultValue:
                          type: boolean
                          nullable: true
                      additionalProperties: false
                    - type: object
                      properties: {}
                      additionalProperties: false
                    - type: object
                      properties:
                        showAs:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - url
                                - email
                                - phone
                              description: >-
                                can display as url, email or phone in string
                                field with a button to perform the corresponding
                                action, start a phone call, send an email, or
                                open a link in a new tab
                          required:
                            - type
                          description: >-
                            Only be used in single line text field or formula /
                            rollup field with cellValueType equals String and
                            isMultipleCellValue is not true
                        defaultValue:
                          type: string
                          nullable: true
                      additionalProperties: false
                    - type: object
                      properties:
                        icon:
                          type: string
                          enum:
                            - star
                            - moon
                            - sun
                            - zap
                            - flame
                            - heart
                            - apple
                            - thumb-up
                        color:
                          type: string
                          enum:
                            - yellowBright
                            - redBright
                            - tealBright
                        max:
                          type: integer
                          maximum: 10
                          minimum: 1
                      required:
                        - icon
                        - color
                        - max
                      additionalProperties: false
                    - type: object
                      properties:
                        isMultiple:
                          type: boolean
                          description: Allow adding multiple users
                        shouldNotify:
                          type: boolean
                          description: Notify users when their name is added to a cell
                        defaultValue:
                          anyOf:
                            - type: string
                            - type: string
                              enum:
                                - me
                            - type: array
                              items:
                                anyOf:
                                  - type: string
                                  - type: string
                                    enum:
                                      - me
                            - nullable: true
                      additionalProperties: false
                    - type: object
                      properties: {}
                      additionalProperties: false
                    - type: object
                      properties:
                        trackedFieldIds:
                          type: array
                          items:
                            type: string
                      additionalProperties: false
                    - type: object
                      properties:
                        label:
                          type: string
                          description: Button label
                        color:
                          type: string
                          enum:
                            - blueLight2
                            - blueLight1
                            - blueBright
                            - blue
                            - blueDark1
                            - cyanLight2
                            - cyanLight1
                            - cyanBright
                            - cyan
                            - cyanDark1
                            - grayLight2
                            - grayLight1
                            - grayBright
                            - gray
                            - grayDark1
                            - greenLight2
                            - greenLight1
                            - greenBright
                            - green
                            - greenDark1
                            - orangeLight2
                            - orangeLight1
                            - orangeBright
                            - orange
                            - orangeDark1
                            - pinkLight2
                            - pinkLight1
                            - pinkBright
                            - pink
                            - pinkDark1
                            - purpleLight2
                            - purpleLight1
                            - purpleBright
                            - purple
                            - purpleDark1
                            - redLight2
                            - redLight1
                            - redBright
                            - red
                            - redDark1
                            - tealLight2
                            - tealLight1
                            - tealBright
                            - teal
                            - tealDark1
                            - yellowLight2
                            - yellowLight1
                            - yellowBright
                            - yellow
                            - yellowDark1
                          description: Button color
                        maxCount:
                          type: number
                          description: Max count of button clicks
                        resetCount:
                          type: boolean
                          description: Reset count
                        workflow:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: string
                              description: Workflow ID
                            name:
                              type: string
                              description: Workflow Name
                            isActive:
                              type: boolean
                              description: Workflow is active
                          description: Workflow
                        confirm:
                          type: object
                          nullable: true
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            confirmText:
                              type: string
                          description: Confirm config before click
                      required:
                        - label
                        - color
                      additionalProperties: false
                    - type: object
                      properties:
                        expression:
                          type: string
                          enum:
                            - countall({values})
                            - counta({values})
                            - count({values})
                            - sum({values})
                            - average({values})
                            - max({values})
                            - min({values})
                            - and({values})
                            - or({values})
                            - xor({values})
                            - array_join({values})
                            - array_unique({values})
                            - array_compact({values})
                            - concatenate({values})
                        timeZone:
                          type: string
                          description: The time zone that should be used to format dates
                        formatting:
                          description: >-
                            Different cell value types are determined based on
                            the results of expression parsing
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - url
                                    - email
                                    - phone
                                  description: >-
                                    can display as url, email or phone in string
                                    field with a button to perform the
                                    corresponding action, start a phone call,
                                    send an email, or open a link in a new tab
                              required:
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            According to the results of expression parsing to
                            determine different visual effects, where strings,
                            numbers will provide customized "show as"
                        baseId:
                          type: string
                        foreignTableId:
                          type: string
                        lookupFieldId:
                          type: string
                        filter:
                          type: object
                          description: >-
                            A filter object for complex query conditions based
                            on fields, operators, and values. Use our visual
                            query builder at
                            https://app.teable.ai/developer/tool/query-builder
                            to build filters.
                        sort:
                          type: object
                          properties:
                            fieldId:
                              type: string
                            order:
                              type: string
                              enum:
                                - asc
                                - desc
                          required:
                            - fieldId
                            - order
                        limit:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 5000
                      required:
                        - expression
                      additionalProperties: false
                    - type: object
                      properties:
                        baseId:
                          type: string
                          description: >-
                            the base id of the table that this field is linked
                            to, only required for cross base link
                        relationship:
                          type: string
                          enum:
                            - oneOne
                            - manyMany
                            - oneMany
                            - manyOne
                          description: >-
                            describe the relationship from this table to the
                            foreign table
                        foreignTableId:
                          type: string
                          description: the table this field is linked to
                        isOneWay:
                          type: boolean
                          description: >-
                            whether the field is a one-way link, when true, it
                            will not generate a symmetric field, it is generally
                            has better performance
                        filterByViewId:
                          type: string
                          nullable: true
                          description: >-
                            the view id that limits the number of records in the
                            link field
                        visibleFieldIds:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: the fields that will be displayed in the link field
                        filter:
                          type: object
                          description: >-
                            A filter object for complex query conditions based
                            on fields, operators, and values. Use our visual
                            query builder at
                            https://app.teable.ai/developer/tool/query-builder
                            to build filters.
                        lookupFieldId:
                          type: string
                      required:
                        - relationship
                        - foreignTableId
                      additionalProperties: false
                    - type: object
                      properties:
                        choices:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                              color:
                                type: string
                            required:
                              - name
                        defaultValue:
                          anyOf:
                            - type: string
                            - type: array
                              items:
                                type: string
                            - nullable: true
                        preventAutoNewOptions:
                          type: boolean
                      required:
                        - choices
                      additionalProperties: false
                    - type: object
                      properties:
                        formatting:
                          oneOf:
                            - type: object
                              properties:
                                precision:
                                  type: number
                                  maximum: 5
                                  minimum: 0
                                type:
                                  type: string
                                  enum:
                                    - decimal
                              required:
                                - precision
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                precision:
                                  type: number
                                  maximum: 5
                                  minimum: 0
                                type:
                                  type: string
                                  enum:
                                    - percent
                              required:
                                - precision
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                precision:
                                  type: number
                                  maximum: 5
                                  minimum: 0
                                type:
                                  type: string
                                  enum:
                                    - currency
                                symbol:
                                  type: string
                              required:
                                - precision
                                - type
                                - symbol
                              additionalProperties: false
                          description: >-
                            Only be used in number field (number field or
                            formula / rollup field with cellValueType equals
                            Number
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            Only be used in number field (number field or
                            formula / rollup field with cellValueType equals
                            Number
                        defaultValue:
                          type: number
                          nullable: true
                      additionalProperties: false
                    - type: object
                      properties: {}
                      additionalProperties: false
                    - type: object
                      properties:
                        formatting:
                          type: object
                          properties:
                            date:
                              type: string
                              description: >-
                                the display formatting of the date. you can use
                                the following presets: M/D/YYYY, D/M/YYYY,
                                YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                MM, DD
                            time:
                              type: string
                              enum:
                                - HH:mm
                                - hh:mm A
                                - None
                              description: >-
                                the display formatting of the time. you can use
                                the following presets: HH:mm, hh:mm A, None
                            timeZone:
                              type: string
                              description: >-
                                The time zone that should be used to format
                                dates
                          required:
                            - date
                            - time
                            - timeZone
                          description: >-
                            caveat: the formatting is just a formatter, it dose
                            not effect the storing value of the record
                      required:
                        - formatting
                      additionalProperties: false
                    - type: object
                      properties:
                        expression:
                          type: string
                          enum:
                            - LAST_MODIFIED_TIME()
                          default: LAST_MODIFIED_TIME()
                        formatting:
                          type: object
                          properties:
                            date:
                              type: string
                              description: >-
                                the display formatting of the date. you can use
                                the following presets: M/D/YYYY, D/M/YYYY,
                                YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                MM, DD
                            time:
                              type: string
                              enum:
                                - HH:mm
                                - hh:mm A
                                - None
                              description: >-
                                the display formatting of the time. you can use
                                the following presets: HH:mm, hh:mm A, None
                            timeZone:
                              type: string
                              description: >-
                                The time zone that should be used to format
                                dates
                          required:
                            - date
                            - time
                            - timeZone
                          description: >-
                            caveat: the formatting is just a formatter, it dose
                            not effect the storing value of the record
                        trackedFieldIds:
                          type: array
                          items:
                            type: string
                      additionalProperties:
                        nullable: true
                    - type: object
                      properties:
                        showAs:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - url
                                    - email
                                    - phone
                                  description: >-
                                    can display as url, email or phone in string
                                    field with a button to perform the
                                    corresponding action, start a phone call,
                                    send an email, or open a link in a new tab
                              required:
                                - type
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - ring
                                  description: >-
                                    can display as bar or ring in number field
                                    with single cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                                showValue:
                                  type: boolean
                                  description: >-
                                    whether to displays the specific value on
                                    the graph
                                maxValue:
                                  type: number
                                  description: >-
                                    the value that represents a 100% maximum
                                    value, it does not represent a hard limit on
                                    the value
                              required:
                                - type
                                - color
                                - showValue
                                - maxValue
                              additionalProperties: false
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - bar
                                    - line
                                  description: >-
                                    can display as bar or line in number field
                                    with multiple cellValue value
                                color:
                                  type: string
                                  enum:
                                    - blueLight2
                                    - blueLight1
                                    - blueBright
                                    - blue
                                    - blueDark1
                                    - cyanLight2
                                    - cyanLight1
                                    - cyanBright
                                    - cyan
                                    - cyanDark1
                                    - grayLight2
                                    - grayLight1
                                    - grayBright
                                    - gray
                                    - grayDark1
                                    - greenLight2
                                    - greenLight1
                                    - greenBright
                                    - green
                                    - greenDark1
                                    - orangeLight2
                                    - orangeLight1
                                    - orangeBright
                                    - orange
                                    - orangeDark1
                                    - pinkLight2
                                    - pinkLight1
                                    - pinkBright
                                    - pink
                                    - pinkDark1
                                    - purpleLight2
                                    - purpleLight1
                                    - purpleBright
                                    - purple
                                    - purpleDark1
                                    - redLight2
                                    - redLight1
                                    - redBright
                                    - red
                                    - redDark1
                                    - tealLight2
                                    - tealLight1
                                    - tealBright
                                    - teal
                                    - tealDark1
                                    - yellowLight2
                                    - yellowLight1
                                    - yellowBright
                                    - yellow
                                    - yellowDark1
                              required:
                                - type
                                - color
                              additionalProperties: false
                          description: >-
                            According to the results of expression parsing to
                            determine different visual effects, where strings,
                            numbers will provide customized "show as"
                        formatting:
                          description: >-
                            Different cell value types are determined based on
                            the results of expression parsing
                      additionalProperties: false
                    - nullable: true
                  description: >-
                    The options of the field. The configuration of the field's
                    options depend on the it's specific type.
                aiConfig:
                  anyOf:
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - extraction
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - summary
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - translation
                        sourceFieldId:
                          type: string
                        targetLanguage:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                        - targetLanguage
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - improvement
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - customization
                        prompt:
                          type: string
                          description: >
                            The prompt to use for the AI operation, use
                            {fieldId} to reference the field in the table,
                            example: "Summarize the content of {fieldId} into
                            100 words"
                      required:
                        - modelKey
                        - type
                        - prompt
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - classification
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - customization
                        prompt:
                          type: string
                        onlyAllowConfiguredOptions:
                          type: boolean
                      required:
                        - modelKey
                        - type
                        - prompt
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - tag
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - customization
                        prompt:
                          type: string
                        onlyAllowConfiguredOptions:
                          type: boolean
                      required:
                        - modelKey
                        - type
                        - prompt
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        'n':
                          type: number
                          minimum: 1
                          maximum: 10
                        size:
                          type: string
                          pattern: ^\d+x\d+$
                        quality:
                          type: string
                          enum:
                            - low
                            - medium
                            - high
                        aspectRatio:
                          type: string
                          pattern: ^\d+:\d+$
                        resolution:
                          type: string
                          enum:
                            - 1K
                            - 2K
                            - 4K
                        type:
                          type: string
                          enum:
                            - imageGeneration
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        'n':
                          type: number
                          minimum: 1
                          maximum: 10
                        size:
                          type: string
                          pattern: ^\d+x\d+$
                        quality:
                          type: string
                          enum:
                            - low
                            - medium
                            - high
                        aspectRatio:
                          type: string
                          pattern: ^\d+:\d+$
                        resolution:
                          type: string
                          enum:
                            - 1K
                            - 2K
                            - 4K
                        type:
                          type: string
                          enum:
                            - imageCustomization
                        prompt:
                          type: string
                      required:
                        - modelKey
                        - type
                        - prompt
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - rating
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - customization
                        prompt:
                          type: string
                      required:
                        - modelKey
                        - type
                        - prompt
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - extraction
                        sourceFieldId:
                          type: string
                      required:
                        - modelKey
                        - type
                        - sourceFieldId
                    - type: object
                      properties:
                        modelKey:
                          type: string
                        isAutoFill:
                          type: boolean
                          nullable: true
                        attachPrompt:
                          type: string
                        type:
                          type: string
                          enum:
                            - customization
                        prompt:
                          type: string
                      required:
                        - modelKey
                        - type
                        - prompt
                    - nullable: true
                  description: The AI configuration of the field.
              required:
                - type
              description: >-
                Provide the complete field configuration including all
                properties, modified or not
      responses:
        '200':
          description: Returns field data after update.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The id of the field.
                  name:
                    type: string
                    description: The name of the field. can not be duplicated in the table.
                    example: Tags
                  type:
                    type: string
                    enum:
                      - singleLineText
                      - longText
                      - user
                      - attachment
                      - checkbox
                      - multipleSelect
                      - singleSelect
                      - date
                      - number
                      - rating
                      - formula
                      - rollup
                      - conditionalRollup
                      - link
                      - createdTime
                      - lastModifiedTime
                      - createdBy
                      - lastModifiedBy
                      - autoNumber
                      - button
                    description: The field types supported by teable.
                    example: singleSelect
                  description:
                    type: string
                    description: The description of the field.
                    example: this is a summary
                  options:
                    anyOf:
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - countall({values})
                              - counta({values})
                              - count({values})
                              - sum({values})
                              - average({values})
                              - max({values})
                              - min({values})
                              - and({values})
                              - or({values})
                              - xor({values})
                              - array_join({values})
                              - array_unique({values})
                              - array_compact({values})
                              - concatenate({values})
                          timeZone:
                            type: string
                            description: The time zone that should be used to format dates
                          formatting:
                            description: >-
                              Different cell value types are determined based on
                              the results of expression parsing
                          showAs:
                            anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - url
                                      - email
                                      - phone
                                    description: >-
                                      can display as url, email or phone in
                                      string field with a button to perform the
                                      corresponding action, start a phone call,
                                      send an email, or open a link in a new tab
                                required:
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - ring
                                    description: >-
                                      can display as bar or ring in number field
                                      with single cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                  showValue:
                                    type: boolean
                                    description: >-
                                      whether to displays the specific value on
                                      the graph
                                  maxValue:
                                    type: number
                                    description: >-
                                      the value that represents a 100% maximum
                                      value, it does not represent a hard limit
                                      on the value
                                required:
                                  - type
                                  - color
                                  - showValue
                                  - maxValue
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - line
                                    description: >-
                                      can display as bar or line in number field
                                      with multiple cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                required:
                                  - type
                                  - color
                                additionalProperties: false
                            description: >-
                              According to the results of expression parsing to
                              determine different visual effects, where strings,
                              numbers will provide customized "show as"
                        required:
                          - expression
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - countall({values})
                              - counta({values})
                              - count({values})
                              - sum({values})
                              - average({values})
                              - max({values})
                              - min({values})
                              - and({values})
                              - or({values})
                              - xor({values})
                              - array_join({values})
                              - array_unique({values})
                              - array_compact({values})
                              - concatenate({values})
                          timeZone:
                            type: string
                            description: The time zone that should be used to format dates
                          formatting:
                            description: >-
                              Different cell value types are determined based on
                              the results of expression parsing
                          showAs:
                            anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - url
                                      - email
                                      - phone
                                    description: >-
                                      can display as url, email or phone in
                                      string field with a button to perform the
                                      corresponding action, start a phone call,
                                      send an email, or open a link in a new tab
                                required:
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - ring
                                    description: >-
                                      can display as bar or ring in number field
                                      with single cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                  showValue:
                                    type: boolean
                                    description: >-
                                      whether to displays the specific value on
                                      the graph
                                  maxValue:
                                    type: number
                                    description: >-
                                      the value that represents a 100% maximum
                                      value, it does not represent a hard limit
                                      on the value
                                required:
                                  - type
                                  - color
                                  - showValue
                                  - maxValue
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - line
                                    description: >-
                                      can display as bar or line in number field
                                      with multiple cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                required:
                                  - type
                                  - color
                                additionalProperties: false
                            description: >-
                              According to the results of expression parsing to
                              determine different visual effects, where strings,
                              numbers will provide customized "show as"
                          baseId:
                            type: string
                          foreignTableId:
                            type: string
                          lookupFieldId:
                            type: string
                          filter:
                            type: object
                            description: >-
                              A filter object for complex query conditions based
                              on fields, operators, and values. Use our visual
                              query builder at
                              https://app.teable.ai/developer/tool/query-builder
                              to build filters.
                          sort:
                            type: object
                            properties:
                              fieldId:
                                type: string
                              order:
                                type: string
                                enum:
                                  - asc
                                  - desc
                            required:
                              - fieldId
                              - order
                          limit:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 5000
                        required:
                          - expression
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            description: >-
                              The formula including fields referenced by their
                              IDs. For example, LEFT(4, {Birthday}) input will
                              be returned as LEFT(4, {fldXXX}) via API.
                          timeZone:
                            type: string
                            description: The time zone that should be used to format dates
                          formatting:
                            description: >-
                              Different cell value types are determined based on
                              the results of expression parsing
                          showAs:
                            anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - url
                                      - email
                                      - phone
                                    description: >-
                                      can display as url, email or phone in
                                      string field with a button to perform the
                                      corresponding action, start a phone call,
                                      send an email, or open a link in a new tab
                                required:
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - ring
                                    description: >-
                                      can display as bar or ring in number field
                                      with single cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                  showValue:
                                    type: boolean
                                    description: >-
                                      whether to displays the specific value on
                                      the graph
                                  maxValue:
                                    type: number
                                    description: >-
                                      the value that represents a 100% maximum
                                      value, it does not represent a hard limit
                                      on the value
                                required:
                                  - type
                                  - color
                                  - showValue
                                  - maxValue
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - line
                                    description: >-
                                      can display as bar or line in number field
                                      with multiple cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                required:
                                  - type
                                  - color
                                additionalProperties: false
                            description: >-
                              According to the results of expression parsing to
                              determine different visual effects, where strings,
                              numbers will provide customized "show as"
                        required:
                          - expression
                        additionalProperties: false
                      - type: object
                        properties:
                          baseId:
                            type: string
                            description: >-
                              the base id of the table that this field is linked
                              to, only required for cross base link
                          relationship:
                            type: string
                            enum:
                              - oneOne
                              - manyMany
                              - oneMany
                              - manyOne
                            description: >-
                              describe the relationship from this table to the
                              foreign table
                          foreignTableId:
                            type: string
                            description: the table this field is linked to
                          lookupFieldId:
                            type: string
                            description: >-
                              the field in the foreign table that will be
                              displayed as the current field
                          isOneWay:
                            type: boolean
                            description: >-
                              whether the field is a one-way link, when true, it
                              will not generate a symmetric field, it is
                              generally has better performance
                          fkHostTableName:
                            type: string
                            description: >-
                              the table name for storing keys, in many-to-many
                              relationships, keys are stored in a separate
                              intermediate table; in other relationships, keys
                              are stored on one side as needed
                          selfKeyName:
                            type: string
                            description: >-
                              the name of the field that stores the current
                              table primary key
                          foreignKeyName:
                            type: string
                            description: >-
                              The name of the field that stores the foreign
                              table primary key
                          symmetricFieldId:
                            type: string
                            description: >-
                              the symmetric field in the foreign table, empty if
                              the field is a one-way link
                          filterByViewId:
                            type: string
                            nullable: true
                            description: >-
                              the view id that limits the number of records in
                              the link field
                          visibleFieldIds:
                            type: array
                            nullable: true
                            items:
                              type: string
                            description: >-
                              the fields that will be displayed in the link
                              field
                          filter:
                            type: object
                            description: >-
                              A filter object for complex query conditions based
                              on fields, operators, and values. Use our visual
                              query builder at
                              https://app.teable.ai/developer/tool/query-builder
                              to build filters.
                        required:
                          - relationship
                          - foreignTableId
                          - lookupFieldId
                          - fkHostTableName
                          - selfKeyName
                          - foreignKeyName
                        additionalProperties: false
                      - type: object
                        properties:
                          formatting:
                            type: object
                            properties:
                              date:
                                type: string
                                description: >-
                                  the display formatting of the date. you can
                                  use the following presets: M/D/YYYY, D/M/YYYY,
                                  YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                  MM, DD
                              time:
                                type: string
                                enum:
                                  - HH:mm
                                  - hh:mm A
                                  - None
                                description: >-
                                  the display formatting of the time. you can
                                  use the following presets: HH:mm, hh:mm A,
                                  None
                              timeZone:
                                type: string
                                description: >-
                                  The time zone that should be used to format
                                  dates
                            required:
                              - date
                              - time
                              - timeZone
                            description: >-
                              caveat: the formatting is just a formatter, it
                              dose not effect the storing value of the record
                          defaultValue:
                            type: string
                            nullable: true
                            enum:
                              - now
                            description: >-
                              Whether the new row is automatically filled with
                              the current time, caveat: the defaultValue is just
                              a flag, it dose not effect the storing value of
                              the record
                        required:
                          - formatting
                        additionalProperties: false
                      - type: object
                        properties:
                          defaultValue:
                            type: boolean
                            nullable: true
                        additionalProperties: false
                      - type: object
                        properties: {}
                        additionalProperties: false
                      - type: object
                        properties:
                          showAs:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - url
                                  - email
                                  - phone
                                description: >-
                                  can display as url, email or phone in string
                                  field with a button to perform the
                                  corresponding action, start a phone call, send
                                  an email, or open a link in a new tab
                            required:
                              - type
                            description: >-
                              Only be used in single line text field or formula
                              / rollup field with cellValueType equals String
                              and isMultipleCellValue is not true
                          defaultValue:
                            type: string
                            nullable: true
                        additionalProperties: false
                      - type: object
                        properties:
                          icon:
                            type: string
                            enum:
                              - star
                              - moon
                              - sun
                              - zap
                              - flame
                              - heart
                              - apple
                              - thumb-up
                          color:
                            type: string
                            enum:
                              - yellowBright
                              - redBright
                              - tealBright
                          max:
                            type: integer
                            maximum: 10
                            minimum: 1
                        required:
                          - icon
                          - color
                          - max
                        additionalProperties: false
                      - type: object
                        properties:
                          isMultiple:
                            type: boolean
                            description: Allow adding multiple users
                          shouldNotify:
                            type: boolean
                            description: Notify users when their name is added to a cell
                          defaultValue:
                            anyOf:
                              - type: string
                              - type: string
                                enum:
                                  - me
                              - type: array
                                items:
                                  anyOf:
                                    - type: string
                                    - type: string
                                      enum:
                                        - me
                              - nullable: true
                        additionalProperties: false
                      - type: object
                        properties: {}
                        additionalProperties: false
                      - type: object
                        properties:
                          trackedFieldIds:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                      - type: object
                        properties:
                          label:
                            type: string
                            description: Button label
                          color:
                            type: string
                            enum:
                              - blueLight2
                              - blueLight1
                              - blueBright
                              - blue
                              - blueDark1
                              - cyanLight2
                              - cyanLight1
                              - cyanBright
                              - cyan
                              - cyanDark1
                              - grayLight2
                              - grayLight1
                              - grayBright
                              - gray
                              - grayDark1
                              - greenLight2
                              - greenLight1
                              - greenBright
                              - green
                              - greenDark1
                              - orangeLight2
                              - orangeLight1
                              - orangeBright
                              - orange
                              - orangeDark1
                              - pinkLight2
                              - pinkLight1
                              - pinkBright
                              - pink
                              - pinkDark1
                              - purpleLight2
                              - purpleLight1
                              - purpleBright
                              - purple
                              - purpleDark1
                              - redLight2
                              - redLight1
                              - redBright
                              - red
                              - redDark1
                              - tealLight2
                              - tealLight1
                              - tealBright
                              - teal
                              - tealDark1
                              - yellowLight2
                              - yellowLight1
                              - yellowBright
                              - yellow
                              - yellowDark1
                            description: Button color
                          maxCount:
                            type: number
                            description: Max count of button clicks
                          resetCount:
                            type: boolean
                            description: Reset count
                          workflow:
                            type: object
                            nullable: true
                            properties:
                              id:
                                type: string
                                description: Workflow ID
                              name:
                                type: string
                                description: Workflow Name
                              isActive:
                                type: boolean
                                description: Workflow is active
                            description: Workflow
                          confirm:
                            type: object
                            nullable: true
                            properties:
                              title:
                                type: string
                              description:
                                type: string
                              confirmText:
                                type: string
                            description: Confirm config before click
                        required:
                          - label
                          - color
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - countall({values})
                              - counta({values})
                              - count({values})
                              - sum({values})
                              - average({values})
                              - max({values})
                              - min({values})
                              - and({values})
                              - or({values})
                              - xor({values})
                              - array_join({values})
                              - array_unique({values})
                              - array_compact({values})
                              - concatenate({values})
                          timeZone:
                            type: string
                            description: The time zone that should be used to format dates
                          formatting:
                            description: >-
                              Different cell value types are determined based on
                              the results of expression parsing
                          showAs:
                            anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - url
                                      - email
                                      - phone
                                    description: >-
                                      can display as url, email or phone in
                                      string field with a button to perform the
                                      corresponding action, start a phone call,
                                      send an email, or open a link in a new tab
                                required:
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - ring
                                    description: >-
                                      can display as bar or ring in number field
                                      with single cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                  showValue:
                                    type: boolean
                                    description: >-
                                      whether to displays the specific value on
                                      the graph
                                  maxValue:
                                    type: number
                                    description: >-
                                      the value that represents a 100% maximum
                                      value, it does not represent a hard limit
                                      on the value
                                required:
                                  - type
                                  - color
                                  - showValue
                                  - maxValue
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - line
                                    description: >-
                                      can display as bar or line in number field
                                      with multiple cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                required:
                                  - type
                                  - color
                                additionalProperties: false
                            description: >-
                              According to the results of expression parsing to
                              determine different visual effects, where strings,
                              numbers will provide customized "show as"
                          baseId:
                            type: string
                          foreignTableId:
                            type: string
                          lookupFieldId:
                            type: string
                          filter:
                            type: object
                            description: >-
                              A filter object for complex query conditions based
                              on fields, operators, and values. Use our visual
                              query builder at
                              https://app.teable.ai/developer/tool/query-builder
                              to build filters.
                          sort:
                            type: object
                            properties:
                              fieldId:
                                type: string
                              order:
                                type: string
                                enum:
                                  - asc
                                  - desc
                            required:
                              - fieldId
                              - order
                          limit:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 5000
                        required:
                          - expression
                        additionalProperties: false
                      - type: object
                        properties:
                          baseId:
                            type: string
                            description: >-
                              the base id of the table that this field is linked
                              to, only required for cross base link
                          relationship:
                            type: string
                            enum:
                              - oneOne
                              - manyMany
                              - oneMany
                              - manyOne
                            description: >-
                              describe the relationship from this table to the
                              foreign table
                          foreignTableId:
                            type: string
                            description: the table this field is linked to
                          lookupFieldId:
                            type: string
                            description: >-
                              the field in the foreign table that will be
                              displayed as the current field
                          isOneWay:
                            type: boolean
                            description: >-
                              whether the field is a one-way link, when true, it
                              will not generate a symmetric field, it is
                              generally has better performance
                          fkHostTableName:
                            type: string
                            description: >-
                              the table name for storing keys, in many-to-many
                              relationships, keys are stored in a separate
                              intermediate table; in other relationships, keys
                              are stored on one side as needed
                          selfKeyName:
                            type: string
                            description: >-
                              the name of the field that stores the current
                              table primary key
                          foreignKeyName:
                            type: string
                            description: >-
                              The name of the field that stores the foreign
                              table primary key
                          symmetricFieldId:
                            type: string
                            description: >-
                              the symmetric field in the foreign table, empty if
                              the field is a one-way link
                          filterByViewId:
                            type: string
                            nullable: true
                            description: >-
                              the view id that limits the number of records in
                              the link field
                          visibleFieldIds:
                            type: array
                            nullable: true
                            items:
                              type: string
                            description: >-
                              the fields that will be displayed in the link
                              field
                          filter:
                            type: object
                            description: >-
                              A filter object for complex query conditions based
                              on fields, operators, and values. Use our visual
                              query builder at
                              https://app.teable.ai/developer/tool/query-builder
                              to build filters.
                        required:
                          - relationship
                          - foreignTableId
                          - lookupFieldId
                          - fkHostTableName
                          - selfKeyName
                          - foreignKeyName
                        additionalProperties: false
                      - type: object
                        properties:
                          choices:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                                color:
                                  type: string
                              required:
                                - id
                                - name
                                - color
                          defaultValue:
                            anyOf:
                              - type: string
                              - type: array
                                items:
                                  type: string
                              - nullable: true
                          preventAutoNewOptions:
                            type: boolean
                        required:
                          - choices
                        additionalProperties: false
                      - type: object
                        properties:
                          formatting:
                            oneOf:
                              - type: object
                                properties:
                                  precision:
                                    type: number
                                    maximum: 5
                                    minimum: 0
                                  type:
                                    type: string
                                    enum:
                                      - decimal
                                required:
                                  - precision
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  precision:
                                    type: number
                                    maximum: 5
                                    minimum: 0
                                  type:
                                    type: string
                                    enum:
                                      - percent
                                required:
                                  - precision
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  precision:
                                    type: number
                                    maximum: 5
                                    minimum: 0
                                  type:
                                    type: string
                                    enum:
                                      - currency
                                  symbol:
                                    type: string
                                required:
                                  - precision
                                  - type
                                  - symbol
                                additionalProperties: false
                            description: >-
                              Only be used in number field (number field or
                              formula / rollup field with cellValueType equals
                              Number
                          showAs:
                            anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - ring
                                    description: >-
                                      can display as bar or ring in number field
                                      with single cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                  showValue:
                                    type: boolean
                                    description: >-
                                      whether to displays the specific value on
                                      the graph
                                  maxValue:
                                    type: number
                                    description: >-
                                      the value that represents a 100% maximum
                                      value, it does not represent a hard limit
                                      on the value
                                required:
                                  - type
                                  - color
                                  - showValue
                                  - maxValue
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - bar
                                      - line
                                    description: >-
                                      can display as bar or line in number field
                                      with multiple cellValue value
                                  color:
                                    type: string
                                    enum:
                                      - blueLight2
                                      - blueLight1
                                      - blueBright
                                      - blue
                                      - blueDark1
                                      - cyanLight2
                                      - cyanLight1
                                      - cyanBright
                                      - cyan
                                      - cyanDark1
                                      - grayLight2
                                      - grayLight1
                                      - grayBright
                                      - gray
                                      - grayDark1
                                      - greenLight2
                                      - greenLight1
                                      - greenBright
                                      - green
                                      - greenDark1
                                      - orangeLight2
                                      - orangeLight1
                                      - orangeBright
                                      - orange
                                      - orangeDark1
                                      - pinkLight2
                                      - pinkLight1
                                      - pinkBright
                                      - pink
                                      - pinkDark1
                                      - purpleLight2
                                      - purpleLight1
                                      - purpleBright
                                      - purple
                                      - purpleDark1
                                      - redLight2
                                      - redLight1
                                      - redBright
                                      - red
                                      - redDark1
                                      - tealLight2
                                      - tealLight1
                                      - tealBright
                                      - teal
                                      - tealDark1
                                      - yellowLight2
                                      - yellowLight1
                                      - yellowBright
                                      - yellow
                                      - yellowDark1
                                required:
                                  - type
                                  - color
                                additionalProperties: false
                            description: >-
                              Only be used in number field (number field or
                              formula / rollup field with cellValueType equals
                              Number
                          defaultValue:
                            type: number
                            nullable: true
                        required:
                          - formatting
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - AUTO_NUMBER()
                        required:
                          - expression
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - CREATED_TIME()
                          formatting:
                            type: object
                            properties:
                              date:
                                type: string
                                description: >-
                                  the display formatting of the date. you can
                                  use the following presets: M/D/YYYY, D/M/YYYY,
                                  YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                  MM, DD
                              time:
                                type: string
                                enum:
                                  - HH:mm
                                  - hh:mm A
                                  - None
                                description: >-
                                  the display formatting of the time. you can
                                  use the following presets: HH:mm, hh:mm A,
                                  None
                              timeZone:
                                type: string
                                description: >-
                                  The time zone that should be used to format
                                  dates
                            required:
                              - date
                              - time
                              - timeZone
                            description: >-
                              caveat: the formatting is just a formatter, it
                              dose not effect the storing value of the record
                        required:
                          - expression
                          - formatting
                        additionalProperties: false
                      - type: object
                        properties:
                          expression:
                            type: string
                            enum:
                              - LAST_MODIFIED_TIME()
                            default: LAST_MODIFIED_TIME()
                          formatting:
                            type: object
                            properties:
                              date:
                                type: string
                                description: >-
                                  the display formatting of the date. you can
                                  use the following presets: M/D/YYYY, D/M/YYYY,
                                  YYYY/MM/DD, YYYY-MM-DD, YYYY-MM, MM-DD, YYYY,
                                  MM, DD
                              time:
                                type: string
                                enum:
                                  - HH:mm
                                  - hh:mm A
                                  - None
                                description: >-
                                  the display formatting of the time. you can
                                  use the following presets: HH:mm, hh:mm A,
                                  None
                              timeZone:
                                type: string
                                description: >-
                                  The time zone that should be used to format
                                  dates
                            required:
                              - date
                              - time
                              - timeZone
                            description: >-
                              caveat: the formatting is just a formatter, it
                              dose not effect the storing value of the record
                          trackedFieldIds:
                            type: array
                            items:
                              type: string
                        additionalProperties:
                          nullable: true
                    description: >-
                      The configuration options of the field. The structure of
                      the field's options depend on the field's type.
                  meta:
                    anyOf:
                      - type: object
                        properties:
                          persistedAsGeneratedColumn:
                            type: boolean
                            default: false
                            description: >-
                              Whether this formula field is persisted as a
                              generated column in the database. When true, the
                              field value is computed and stored as a database
                              generated column.
                      - type: object
                        properties:
                          hasOrderColumn:
                            type: boolean
                            default: false
                            description: >-
                              Whether this link field has an order column for
                              maintaining insertion order. When true, the field
                              uses a separate order column to preserve the order
                              of linked records.
                    description: >-
                      The metadata of the field. The structure of the field's
                      meta depend on the field's type. Currently formula and
                      link fields have meta.
                  aiConfig:
                    anyOf:
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - extraction
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - summary
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - translation
                          sourceFieldId:
                            type: string
                          targetLanguage:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                          - targetLanguage
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - improvement
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - customization
                          prompt:
                            type: string
                            description: >
                              The prompt to use for the AI operation, use
                              {fieldId} to reference the field in the table,
                              example: "Summarize the content of {fieldId} into
                              100 words"
                        required:
                          - modelKey
                          - type
                          - prompt
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - classification
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - customization
                          prompt:
                            type: string
                          onlyAllowConfiguredOptions:
                            type: boolean
                        required:
                          - modelKey
                          - type
                          - prompt
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - tag
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - customization
                          prompt:
                            type: string
                          onlyAllowConfiguredOptions:
                            type: boolean
                        required:
                          - modelKey
                          - type
                          - prompt
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          'n':
                            type: number
                            minimum: 1
                            maximum: 10
                          size:
                            type: string
                            pattern: ^\d+x\d+$
                          quality:
                            type: string
                            enum:
                              - low
                              - medium
                              - high
                          aspectRatio:
                            type: string
                            pattern: ^\d+:\d+$
                          resolution:
                            type: string
                            enum:
                              - 1K
                              - 2K
                              - 4K
                          type:
                            type: string
                            enum:
                              - imageGeneration
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          'n':
                            type: number
                            minimum: 1
                            maximum: 10
                          size:
                            type: string
                            pattern: ^\d+x\d+$
                          quality:
                            type: string
                            enum:
                              - low
                              - medium
                              - high
                          aspectRatio:
                            type: string
                            pattern: ^\d+:\d+$
                          resolution:
                            type: string
                            enum:
                              - 1K
                              - 2K
                              - 4K
                          type:
                            type: string
                            enum:
                              - imageCustomization
                          prompt:
                            type: string
                        required:
                          - modelKey
                          - type
                          - prompt
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - rating
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - customization
                          prompt:
                            type: string
                        required:
                          - modelKey
                          - type
                          - prompt
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - extraction
                          sourceFieldId:
                            type: string
                        required:
                          - modelKey
                          - type
                          - sourceFieldId
                      - type: object
                        properties:
                          modelKey:
                            type: string
                          isAutoFill:
                            type: boolean
                            nullable: true
                          attachPrompt:
                            type: string
                          type:
                            type: string
                            enum:
                              - customization
                          prompt:
                            type: string
                        required:
                          - modelKey
                          - type
                          - prompt
                      - nullable: true
                    description: The AI configuration of the field.
                  isLookup:
                    type: boolean
                    description: >-
                      Whether this field is lookup field. witch means cellValue
                      and [fieldType] is looked up from the linked table.
                  isConditionalLookup:
                    type: boolean
                    description: >-
                      Whether this lookup field applies a conditional filter
                      when resolving linked records.
                  lookupOptions:
                    anyOf:
                      - type: object
                        properties:
                          baseId:
                            type: string
                            description: >-
                              the base id of the table that this field is linked
                              to, only required for cross base link
                          relationship:
                            type: string
                            enum:
                              - oneOne
                              - manyMany
                              - oneMany
                              - manyOne
                            description: >-
                              describe the relationship from this table to the
                              foreign table
                          foreignTableId:
                            type: string
                            description: the table this field is linked to
                          lookupFieldId:
                            type: string
                            description: >-
                              the field in the foreign table that will be
                              displayed as the current field
                          fkHostTableName:
                            type: string
                            description: >-
                              the table name for storing keys, in many-to-many
                              relationships, keys are stored in a separate
                              intermediate table; in other relationships, keys
                              are stored on one side as needed
                          selfKeyName:
                            type: string
                            description: >-
                              the name of the field that stores the current
                              table primary key
                          foreignKeyName:
                            type: string
                            description: >-
                              The name of the field that stores the foreign
                              table primary key
                          filter:
                            type: object
                            description: >-
                              A filter object for complex query conditions based
                              on fields, operators, and values. Use our visual
                              query builder at
                              https://app.teable.ai/developer/tool/query-builder
                              to build filters.
                          linkFieldId:
                            type: string
                            description: The id of Linked record field to use for lookup
                        required:
                          - relationship
                          - foreignTableId
                          - lookupFieldId
                          - fkHostTableName
                          - selfKeyName
                          - foreignKeyName
                          - linkFieldId
                        additionalProperties: false
                      - type: object
                        properties:
                          baseId:
                            type: string
                            description: >-
                              the base id of the table that this field is linked
                              to, only required for cross base link
                          foreignTableId:
                            type: string
                            description: the table this field is linked to
                          lookupFieldId:
                            type: string
                            description: >-
                              the field in the foreign table that will be
                              displayed as the current field
                          filter:
                            type: object
                            description: >-
                              Filter to apply when resolving conditional lookup
                              values.
                          sort:
                            type: object
                            properties:
                              fieldId:
                                type: string
                                description: >-
                                  The field in the foreign table used to order
                                  lookup records.
                              order:
                                type: string
                                enum:
                                  - asc
                                  - desc
                                description: >-
                                  Ordering direction to apply to the sorted
                                  field.
                            required:
                              - fieldId
                              - order
                            description: >-
                              Optional sort configuration applied before
                              aggregating lookup values.
                          limit:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 5000
                            description: >-
                              Maximum number of matching records to include in
                              the lookup result.
                        required:
                          - foreignTableId
                          - lookupFieldId
                          - filter
                        additionalProperties: false
                    description: field lookup options.
                  notNull:
                    type: boolean
                    description: Whether this field is not null.
                  unique:
                    type: boolean
                    description: Whether this field is not unique.
                  isPrimary:
                    type: boolean
                    description: Whether this field is primary field.
                  isComputed:
                    type: boolean
                    description: >-
                      Whether this field is computed field, you can not modify
                      cellValue in computed field.
                  isPending:
                    type: boolean
                    description: Whether this field's calculation is pending.
                  hasError:
                    type: boolean
                    description: >-
                      Whether This field has a configuration error. Check the
                      fields referenced by this field's formula or
                      configuration.
                  cellValueType:
                    type: string
                    enum:
                      - string
                      - number
                      - boolean
                      - dateTime
                    description: The cell value type of the field.
                  isMultipleCellValue:
                    type: boolean
                    description: Whether this field has multiple cell value.
                  dbFieldType:
                    type: string
                    enum:
                      - TEXT
                      - INTEGER
                      - DATETIME
                      - REAL
                      - BLOB
                      - JSON
                      - BOOLEAN
                    description: The field type of database that cellValue really store.
                  dbFieldName:
                    type: string
                    minLength: 1
                    pattern: ^\w{0,63}$
                    description: >-
                      Field(column) name in backend database. Limitation: 1-63
                      characters, can only contain letters, numbers and
                      underscore, case sensitive, cannot be duplicated with
                      existing db field name in the table.
                  recordRead:
                    type: boolean
                    description: >-
                      Field record read permission. When set to false, reading
                      records is denied. When true or not set, reading records
                      is allowed.
                  recordCreate:
                    type: boolean
                    description: >-
                      Field record create permission. When set to false,
                      creating records is denied. When true or not set, creating
                      records is allowed.
                required:
                  - id
                  - name
                  - type
                  - options
                  - cellValueType
                  - dbFieldType
                  - dbFieldName
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: Shell
          source: |-
            curl --request PUT \
              --url https://app.teable.ai/api/table/%7BtableId%7D/field/%7BfieldId%7D/convert \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
              --header 'content-type: application/json' \
              --data '{"type":"singleSelect","name":"string","unique":true,"notNull":true,"dbFieldName":"string","isLookup":true,"isConditionalLookup":true,"description":"this is a summary","lookupOptions":{"foreignTableId":"string","lookupFieldId":"string","linkFieldId":"string","filter":{}},"options":{"expression":"countall({values})","timeZone":"string","formatting":null,"showAs":{"type":"url"}},"aiConfig":{"modelKey":"string","isAutoFill":true,"attachPrompt":"string","type":"extraction","sourceFieldId":"string"}}'
        - lang: JavaScript
          source: >-
            const url =
            'https://app.teable.ai/api/table/%7BtableId%7D/field/%7BfieldId%7D/convert';

            const options = {
              method: 'PUT',
              headers: {
                Authorization: 'Bearer REPLACE_BEARER_TOKEN',
                'content-type': 'application/json'
              },
              body: '{"type":"singleSelect","name":"string","unique":true,"notNull":true,"dbFieldName":"string","isLookup":true,"isConditionalLookup":true,"description":"this is a summary","lookupOptions":{"foreignTableId":"string","lookupFieldId":"string","linkFieldId":"string","filter":{}},"options":{"expression":"countall({values})","timeZone":"string","formatting":null,"showAs":{"type":"url"}},"aiConfig":{"modelKey":"string","isAutoFill":true,"attachPrompt":"string","type":"extraction","sourceFieldId":"string"}}'
            };


            try {
              const response = await fetch(url, options);
              const data = await response.json();
              console.log(data);
            } catch (error) {
              console.error(error);
            }
        - lang: Node.js
          source: |-
            const http = require('https');

            const options = {
              method: 'PUT',
              hostname: 'app.teable.ai',
              port: null,
              path: '/api/table/%7BtableId%7D/field/%7BfieldId%7D/convert',
              headers: {
                Authorization: 'Bearer REPLACE_BEARER_TOKEN',
                'content-type': 'application/json'
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on('data', function (chunk) {
                chunks.push(chunk);
              });

              res.on('end', function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              type: 'singleSelect',
              name: 'string',
              unique: true,
              notNull: true,
              dbFieldName: 'string',
              isLookup: true,
              isConditionalLookup: true,
              description: 'this is a summary',
              lookupOptions: {
                foreignTableId: 'string',
                lookupFieldId: 'string',
                linkFieldId: 'string',
                filter: {}
              },
              options: {
                expression: 'countall({values})',
                timeZone: 'string',
                formatting: null,
                showAs: {type: 'url'}
              },
              aiConfig: {
                modelKey: 'string',
                isAutoFill: true,
                attachPrompt: 'string',
                type: 'extraction',
                sourceFieldId: 'string'
              }
            }));
            req.end();
        - lang: Python
          source: >-
            import http.client


            conn = http.client.HTTPSConnection("app.teable.ai")


            payload =
            "{\"type\":\"singleSelect\",\"name\":\"string\",\"unique\":true,\"notNull\":true,\"dbFieldName\":\"string\",\"isLookup\":true,\"isConditionalLookup\":true,\"description\":\"this
            is a
            summary\",\"lookupOptions\":{\"foreignTableId\":\"string\",\"lookupFieldId\":\"string\",\"linkFieldId\":\"string\",\"filter\":{}},\"options\":{\"expression\":\"countall({values})\",\"timeZone\":\"string\",\"formatting\":null,\"showAs\":{\"type\":\"url\"}},\"aiConfig\":{\"modelKey\":\"string\",\"isAutoFill\":true,\"attachPrompt\":\"string\",\"type\":\"extraction\",\"sourceFieldId\":\"string\"}}"


            headers = {
                'Authorization': "Bearer REPLACE_BEARER_TOKEN",
                'content-type': "application/json"
            }


            conn.request("PUT",
            "/api/table/%7BtableId%7D/field/%7BfieldId%7D/convert", payload,
            headers)


            res = conn.getresponse()

            data = res.read()


            print(data.decode("utf-8"))
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````