> ## 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.

# Post table fieldplan

> Generate calculation plan for creating the field



## OpenAPI

````yaml /swagger.json post /table/{tableId}/field/plan
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/plan:
    post:
      tags:
        - plan
      description: Generate calculation plan for creating the field
      parameters:
        - schema:
            type: string
          required: true
          name: tableId
          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
                  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.
                id:
                  type: string
                  description: >-
                    The id of the field that start with "fld", followed by
                    exactly 16 alphanumeric characters `/^fld[\da-zA-Z]{16}$/`.
                    It is sometimes useful to specify an id at creation time
                  example: fldxxxxxxxxxxxxxxxx
                order:
                  type: object
                  properties:
                    viewId:
                      type: string
                      description: You can only specify order in one view when create field
                    orderIndex:
                      type: number
                  required:
                    - viewId
                    - orderIndex
              required:
                - type
      responses:
        '201':
          description: Returns the calculation plan for creating the field
          content:
            application/json:
              schema:
                type: object
                properties:
                  estimateTime:
                    type: number
                  graph:
                    type: object
                    properties:
                      nodes:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            comboId:
                              type: string
                          required:
                            - id
                          additionalProperties:
                            nullable: true
                      edges:
                        type: array
                        items:
                          type: object
                          properties:
                            source:
                              type: string
                            target:
                              type: string
                            label:
                              type: string
                          required:
                            - source
                            - target
                          additionalProperties:
                            nullable: true
                      combos:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                          required:
                            - id
                            - label
                          additionalProperties:
                            nullable: true
                    required:
                      - nodes
                      - edges
                      - combos
                  updateCellCount:
                    type: number
                  linkFieldCount:
                    type: number
                required:
                  - estimateTime
                  - updateCellCount
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: Shell
          source: |-
            curl --request POST \
              --url https://app.teable.ai/api/table/%7BtableId%7D/field/plan \
              --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"},"id":"fldxxxxxxxxxxxxxxxx","order":{"viewId":"string","orderIndex":0}}'
        - lang: JavaScript
          source: >-
            const url =
            'https://app.teable.ai/api/table/%7BtableId%7D/field/plan';

            const options = {
              method: 'POST',
              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"},"id":"fldxxxxxxxxxxxxxxxx","order":{"viewId":"string","orderIndex":0}}'
            };


            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: 'POST',
              hostname: 'app.teable.ai',
              port: null,
              path: '/api/table/%7BtableId%7D/field/plan',
              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'
              },
              id: 'fldxxxxxxxxxxxxxxxx',
              order: {viewId: 'string', orderIndex: 0}
            }));
            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\"},\"id\":\"fldxxxxxxxxxxxxxxxx\",\"order\":{\"viewId\":\"string\",\"orderIndex\":0}}"


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


            conn.request("POST", "/api/table/%7BtableId%7D/field/plan", payload,
            headers)


            res = conn.getresponse()

            data = res.read()


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

````