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

# Create contact field

> Create a new custom contact field. Pass `before` / `after` (a sibling field key) to slot it at a global position; omit both to append.



## OpenAPI

````yaml https://api.useinvent.com/openapi.json post /orgs/{org_id}/contacts/fields
openapi: 3.1.0
info:
  version: 1.0.0
  title: Invent API
servers:
  - url: https://api.useinvent.com
security:
  - bearerAuth: []
tags:
  - name: Inbox
  - name: Chats
  - name: Messages
  - name: Contacts
  - name: Custom channels
  - name: Segments
  - name: Suppressions
  - name: Assistants
  - name: Agents
  - name: Skills
  - name: Knowledge
  - name: AI
  - name: Broadcasts
  - name: Email sending
  - name: WhatsApp
  - name: WhatsApp Meta agent
  - name: Tables
  - name: Records
  - name: Views
  - name: Pages
  - name: Connections
  - name: Workspace
  - name: Sub-organizations
  - name: Analytics and logs
  - name: Workflows
paths:
  /orgs/{org_id}/contacts/fields:
    post:
      tags:
        - Contacts
      summary: Create contact field
      description: >-
        Create a new custom contact field. Pass `before` / `after` (a sibling
        field key) to slot it at a global position; omit both to append.
      parameters:
        - schema:
            type: string
          required: true
          description: The ID of the org
          name: org_id
          in: path
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTableFieldSchema'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateTableFieldSchema'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableFieldSchema'
components:
  schemas:
    CreateTableFieldSchema:
      type: object
      properties:
        id:
          type: string
          maxLength: 128
          description: >-
            Client-generated id for the new field (enables optimistic creation).
            Encoded (`field_…`) or raw UUID. Rejected if already in use.
        key:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-z][a-z0-9_]{0,63}$
        schema:
          $ref: '#/components/schemas/TableFieldFieldSchema'
        icon:
          anyOf:
            - $ref: '#/components/schemas/PickerIconEmojiSchema'
            - type: string
              maxLength: 64
              pattern: ^[a-zA-Z0-9_-]+$
              description: >-
                The name of a curated icon a user can pick for a table, view,
                field, or other entity
              oneOf:
                - $ref: '#/components/schemas/PickerIconNameSchema'
        color:
          $ref: '#/components/schemas/ColorNameSchema'
        unique:
          type: boolean
        readonly:
          type: boolean
        on_target_delete:
          $ref: '#/components/schemas/TableFieldOnTargetDeleteSchema'
        before:
          type: string
          maxLength: 1024
        after:
          type: string
          maxLength: 1024
      required:
        - key
        - schema
    TableFieldSchema:
      oneOf:
        - $ref: '#/components/schemas/TableSystemFieldSchema'
        - $ref: '#/components/schemas/TableCustomFieldSchema'
      discriminator:
        propertyName: kind
        mapping:
          system:
            $ref: '#/components/schemas/TableSystemFieldSchema'
          custom:
            $ref: '#/components/schemas/TableCustomFieldSchema'
    TableFieldFieldSchema:
      oneOf:
        - $ref: '#/components/schemas/FieldIdBaseSchema'
        - $ref: '#/components/schemas/FieldStringBaseSchema'
        - $ref: '#/components/schemas/FieldNumberBaseSchema'
        - $ref: '#/components/schemas/FieldBooleanBaseSchema'
        - $ref: '#/components/schemas/FieldDateBaseSchema'
        - $ref: '#/components/schemas/FieldDateTimeBaseSchema'
        - $ref: '#/components/schemas/FieldEnumBaseSchema'
        - $ref: '#/components/schemas/FieldFileBaseSchema'
        - $ref: '#/components/schemas/FieldRecordBaseSchema'
        - $ref: '#/components/schemas/FieldContactBaseSchema'
        - $ref: '#/components/schemas/FieldUserBaseSchema'
        - $ref: '#/components/schemas/FieldChatBaseSchema'
        - $ref: '#/components/schemas/FieldSegmentBaseSchema'
        - $ref: '#/components/schemas/FieldAssistantBaseSchema'
        - $ref: '#/components/schemas/FieldAgentBaseSchema'
      discriminator:
        propertyName: type
        mapping:
          id:
            $ref: '#/components/schemas/FieldIdBaseSchema'
          string:
            $ref: '#/components/schemas/FieldStringBaseSchema'
          number:
            $ref: '#/components/schemas/FieldNumberBaseSchema'
          boolean:
            $ref: '#/components/schemas/FieldBooleanBaseSchema'
          date:
            $ref: '#/components/schemas/FieldDateBaseSchema'
          datetime:
            $ref: '#/components/schemas/FieldDateTimeBaseSchema'
          enum:
            $ref: '#/components/schemas/FieldEnumBaseSchema'
          file:
            $ref: '#/components/schemas/FieldFileBaseSchema'
          record:
            $ref: '#/components/schemas/FieldRecordBaseSchema'
          contact:
            $ref: '#/components/schemas/FieldContactBaseSchema'
          user:
            $ref: '#/components/schemas/FieldUserBaseSchema'
          chat:
            $ref: '#/components/schemas/FieldChatBaseSchema'
          segment:
            $ref: '#/components/schemas/FieldSegmentBaseSchema'
          assistant:
            $ref: '#/components/schemas/FieldAssistantBaseSchema'
          agent:
            $ref: '#/components/schemas/FieldAgentBaseSchema'
      description: A table field schema
    PickerIconEmojiSchema:
      type: string
      format: emoji
      description: >-
        The emoji of a curated icon a user can pick for a table, view, field, or
        other entity
    PickerIconNameSchema:
      type: string
      enum:
        - TableCellsIcon
        - DatabaseIcon
        - DocumentTextIcon
        - DocumentChartBarIcon
        - ClipboardDocumentListIcon
        - ClipboardDocumentCheckIcon
        - FolderIcon
        - ArchiveBoxIcon
        - InboxIcon
        - BookOpenIcon
        - BookmarkIcon
        - NewspaperIcon
        - RectangleStackIcon
        - PencilSquareIcon
        - UserIcon
        - UsersIcon
        - UserGroupIcon
        - UserPlusIcon
        - IdentificationIcon
        - FaceSmileIcon
        - HandThumbUpIcon
        - HeartIcon
        - StarIcon
        - CheckBadgeIcon
        - TrophyIcon
        - CrownIcon
        - ChatBubbleLeftIcon
        - ChatBubbleLeftRightIcon
        - EnvelopeIcon
        - EnvelopeOpenIcon
        - PhoneIcon
        - DevicePhoneMobileIcon
        - MegaphoneIcon
        - BellIcon
        - PaperAirplaneIcon
        - AtSymbolIcon
        - RssIcon
        - LifebuoyIcon
        - ShoppingCartIcon
        - ShoppingBagIcon
        - BuildingStorefrontIcon
        - CreditCardIcon
        - BanknotesIcon
        - CurrencyDollarIcon
        - CurrencyEuroIcon
        - ReceiptPercentIcon
        - WalletIcon
        - CoinsIcon
        - GiftIcon
        - TagIcon
        - TicketIcon
        - ScaleIcon
        - TruckIcon
        - CubeIcon
        - CalendarIcon
        - CalendarDaysIcon
        - CalendarDateRangeIcon
        - ClockIcon
        - FlagIcon
        - CheckCircleIcon
        - ListBulletIcon
        - QueueListIcon
        - FunnelIcon
        - ChartBarIcon
        - ChartPieIcon
        - PresentationChartLineIcon
        - ArrowTrendingUpIcon
        - BriefcaseIcon
        - WrenchScrewdriverIcon
        - Cog6ToothIcon
        - KeyIcon
        - LockClosedIcon
        - ShieldCheckIcon
        - BoltIcon
        - LightBulbIcon
        - BeakerIcon
        - BugAntIcon
        - CpuChipIcon
        - CodeBracketIcon
        - CommandLineIcon
        - ServerIcon
        - LinkIcon
        - HomeIcon
        - HomeModernIcon
        - BuildingOfficeIcon
        - BuildingOffice2Icon
        - BuildingLibraryIcon
        - MapPinIcon
        - MapIcon
        - GlobeAltIcon
        - GlobeAmericasIcon
        - RocketLaunchIcon
        - PlaneIcon
        - CarIcon
        - SunIcon
        - MoonIcon
        - FireIcon
        - SparklesIcon
        - CakeIcon
        - AcademicCapIcon
        - ScissorsIcon
        - SwatchIcon
        - PaintBrushIcon
        - CoffeeIcon
        - UtensilsIcon
        - LeafIcon
        - DumbbellIcon
        - HeartPulseIcon
        - PawPrintIcon
        - StethoscopeIcon
        - CameraIcon
        - PhotoIcon
        - FilmIcon
        - VideoCameraIcon
        - MicrophoneIcon
        - MusicalNoteIcon
        - SpeakerWaveIcon
        - PlayCircleIcon
        - TvIcon
        - RadioIcon
        - PuzzlePieceIcon
        - GamepadIcon
      description: >-
        The name of a curated icon a user can pick for a table, view, field, or
        other entity
    ColorNameSchema:
      type: string
      enum:
        - red
        - orange
        - amber
        - yellow
        - lime
        - green
        - teal
        - cyan
        - sky
        - blue
        - indigo
        - violet
        - purple
        - fuchsia
        - pink
        - rose
        - neutral
      title: Color
      description: The name of the color to use in the UI
    TableFieldOnTargetDeleteSchema:
      type: string
      enum:
        - restrict
        - clear
        - cascade
      description: >-
        What happens when the referenced target is deleted (ref-typed fields
        only). `restrict` forbids deleting the target while any cell still
        points to it. `clear` allows the delete and drops those field values on
        remaining rows. `cascade` also deletes table rows that reference the
        target via this field.
    TableSystemFieldSchema:
      type: object
      properties:
        id:
          type: string
        table_id:
          type: string
        key:
          type: string
        type:
          $ref: '#/components/schemas/TableFieldTypeSchema'
        schema:
          $ref: '#/components/schemas/FieldBaseSchema'
        readonly:
          type: boolean
        sortable:
          type: boolean
          description: Whether views can sort their records by this field.
        groupable_in:
          type: array
          items:
            type: string
            enum:
              - table
              - board
              - calendar
              - timeline
              - list
              - gallery
          description: View kinds that accept this field as their grouping axis.
        kind:
          type: string
          enum:
            - system
      required:
        - id
        - table_id
        - key
        - type
        - schema
        - readonly
        - sortable
        - groupable_in
        - kind
    TableCustomFieldSchema:
      type: object
      properties:
        id:
          type: string
        table_id:
          type: string
        key:
          type: string
        type:
          $ref: '#/components/schemas/TableFieldTypeSchema'
        schema:
          $ref: '#/components/schemas/FieldBaseSchema'
        readonly:
          type: boolean
        sortable:
          type: boolean
          description: Whether views can sort their records by this field.
        groupable_in:
          type: array
          items:
            type: string
            enum:
              - table
              - board
              - calendar
              - timeline
              - list
              - gallery
          description: View kinds that accept this field as their grouping axis.
        kind:
          type: string
          enum:
            - custom
        icon:
          anyOf:
            - $ref: '#/components/schemas/PickerIconEmojiSchema'
            - type: string
              maxLength: 64
              pattern: ^[a-zA-Z0-9_-]+$
              description: >-
                The name of a curated icon a user can pick for a table, view,
                field, or other entity
              oneOf:
                - $ref: '#/components/schemas/PickerIconNameSchema'
            - type: 'null'
        color:
          anyOf:
            - $ref: '#/components/schemas/ColorNameSchema'
            - type: 'null'
        unique:
          type: boolean
        on_target_delete:
          $ref: '#/components/schemas/TableFieldOnTargetDeleteSchema'
        archived:
          type: boolean
        created_at:
          type:
            - string
            - 'null'
          format: date-time
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - id
        - table_id
        - key
        - type
        - schema
        - readonly
        - sortable
        - groupable_in
        - kind
        - icon
        - color
        - unique
        - on_target_delete
        - archived
        - created_at
        - updated_at
    FieldIdBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - id
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        prefix:
          type: string
          pattern: ^[A-Z][A-Z0-9]{0,15}$
          description: >-
            Uppercase alphanumeric prefix rendered before the record number
            (e.g. `LEAD` → `LEAD-42`). Omit to render the bare number.
      required:
        - type
    FieldStringBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - string
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldStringDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the string field
        format:
          type: string
          enum:
            - url
            - email
            - phone
          description: The validation type for the field
        min:
          type: number
          minimum: 1
          description: The minimum length of the string field
        max:
          type: number
          minimum: 1
          description: The maximum length of the string field
      required:
        - type
    FieldNumberBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - number
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldNumberDisplaySchema'
        default:
          anyOf:
            - type: number
            - type: string
              enum:
                - '{{auto}}'
          description: The default value of the number field
      required:
        - type
    FieldBooleanBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - boolean
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          type: boolean
          description: The default value of the boolean field
      required:
        - type
    FieldDateBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - date
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDateDisplaySchema'
        default:
          type:
            - string
            - 'null'
          format: date-time
          description: The default value of the date field, formatted as YYYY-MM-DD
        range:
          type: boolean
          description: >-
            Turns the field into a range: requires `array: true`, and the value
            becomes an array of exactly two dates (start, end). A Timeline can
            draw it as a bar.
      required:
        - type
    FieldDateTimeBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - datetime
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDateTimeDisplaySchema'
        default:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The default value of the date time field, formatted as
            YYYY-MM-DDTHH:MM:SS
        range:
          type: boolean
          description: >-
            Turns the field into a range: requires `array: true`, and the value
            becomes an array of exactly two dates (start, end). A Timeline can
            draw it as a bar.
        source:
          $ref: '#/components/schemas/FieldDateTimeSourceSchema'
      required:
        - type
    FieldEnumBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - enum
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldEnumDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the enum field
        items:
          type: array
          items:
            $ref: '#/components/schemas/FieldEnumItemSchema'
          description: The options for the enum field
        additional_items:
          type: boolean
          description: Indicates whether additional unlisted items are allowed
      required:
        - type
        - items
    FieldFileBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - file
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldFileDisplaySchema'
        allowed_types:
          type: array
          items:
            type: string
          description: >-
            Allowed mime types for the file field (e.g. image/*,
            application/pdf)
        visibility:
          $ref: '#/components/schemas/FileVisibilitySchema'
        default:
          anyOf:
            - $ref: '#/components/schemas/FileSchema'
            - type: array
              items:
                $ref: '#/components/schemas/FileSchema'
          description: >-
            The default value of the file field: the already-attached file(s),
            pre-filled and replaceable
      required:
        - type
    FieldRecordBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - record
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the record field (encoded record id)
        target_table_id:
          type: string
          description: The id of the table whose records are referenceable
      required:
        - type
    FieldContactBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - contact
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the contact field (encoded contact id)
      required:
        - type
    FieldUserBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - user
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: >-
            The default value of the user field (encoded user id of an org
            member)
        source:
          $ref: '#/components/schemas/FieldUserSourceSchema'
      required:
        - type
    FieldChatBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - chat
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the chat field (encoded chat id)
      required:
        - type
    FieldSegmentBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - segment
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the segment field (encoded segment id)
      required:
        - type
    FieldAssistantBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - assistant
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the assistant field (encoded assistant id)
      required:
        - type
    FieldAgentBaseSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - agent
          description: The type of the field
        name:
          type: string
          maxLength: 1024
          description: The name of the field
        description:
          type: string
          maxLength: 10240
          description: The description of the field
        optional:
          type: boolean
          description: Indicates whether the field is optional
        array:
          type: boolean
          description: Indicates whether the field can contain multiple values
        placeholder:
          type: string
          maxLength: 512
          description: The placeholder of the field
        display:
          $ref: '#/components/schemas/FieldDisplaySchema'
        default:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
          description: The default value of the agent field (encoded agent id)
      required:
        - type
    TableFieldTypeSchema:
      type: string
      enum:
        - id
        - string
        - number
        - boolean
        - date
        - datetime
        - enum
        - file
        - record
        - contact
        - user
        - chat
        - segment
        - assistant
        - agent
    FieldBaseSchema:
      oneOf:
        - $ref: '#/components/schemas/FieldIdBaseSchema'
        - $ref: '#/components/schemas/FieldStringBaseSchema'
        - $ref: '#/components/schemas/FieldNumberBaseSchema'
        - $ref: '#/components/schemas/FieldBooleanBaseSchema'
        - $ref: '#/components/schemas/FieldDateBaseSchema'
        - $ref: '#/components/schemas/FieldDateTimeBaseSchema'
        - $ref: '#/components/schemas/FieldEnumBaseSchema'
        - $ref: '#/components/schemas/FieldFileBaseSchema'
        - $ref: '#/components/schemas/FieldRecordBaseSchema'
        - $ref: '#/components/schemas/FieldContactBaseSchema'
        - $ref: '#/components/schemas/FieldUserBaseSchema'
        - $ref: '#/components/schemas/FieldChatBaseSchema'
        - $ref: '#/components/schemas/FieldSegmentBaseSchema'
        - $ref: '#/components/schemas/FieldAssistantBaseSchema'
        - $ref: '#/components/schemas/FieldAgentBaseSchema'
      discriminator:
        propertyName: type
        mapping:
          id:
            $ref: '#/components/schemas/FieldIdBaseSchema'
          string:
            $ref: '#/components/schemas/FieldStringBaseSchema'
          number:
            $ref: '#/components/schemas/FieldNumberBaseSchema'
          boolean:
            $ref: '#/components/schemas/FieldBooleanBaseSchema'
          date:
            $ref: '#/components/schemas/FieldDateBaseSchema'
          datetime:
            $ref: '#/components/schemas/FieldDateTimeBaseSchema'
          enum:
            $ref: '#/components/schemas/FieldEnumBaseSchema'
          file:
            $ref: '#/components/schemas/FieldFileBaseSchema'
          record:
            $ref: '#/components/schemas/FieldRecordBaseSchema'
          contact:
            $ref: '#/components/schemas/FieldContactBaseSchema'
          user:
            $ref: '#/components/schemas/FieldUserBaseSchema'
          chat:
            $ref: '#/components/schemas/FieldChatBaseSchema'
          segment:
            $ref: '#/components/schemas/FieldSegmentBaseSchema'
          assistant:
            $ref: '#/components/schemas/FieldAssistantBaseSchema'
          agent:
            $ref: '#/components/schemas/FieldAgentBaseSchema'
      description: >-
        A user-created field: the table field types, without the props only
        built-in definitions set
    FieldDisplaySchema:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/FieldLayoutSchema'
        container:
          $ref: '#/components/schemas/FieldContainerSchema'
        empty:
          $ref: '#/components/schemas/FieldEmptySchema'
      description: Display options for the field
    FieldStringDisplaySchema:
      allOf:
        - $ref: '#/components/schemas/FieldDisplaySchema'
        - type: object
          properties:
            render:
              $ref: '#/components/schemas/FieldStringDisplayRenderSchema'
      description: Display options for the string field
    FieldNumberDisplaySchema:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/FieldLayoutSchema'
        container:
          $ref: '#/components/schemas/FieldContainerSchema'
        empty:
          $ref: '#/components/schemas/FieldEmptySchema'
        format:
          $ref: '#/components/schemas/FieldNumberDisplayFormatSchema'
        notation:
          $ref: '#/components/schemas/FieldNumberDisplayNotationSchema'
        decimals:
          type: integer
          minimum: 0
          maximum: 8
          description: Fixed fraction digits (min and max); omit for the locale default
        currency:
          type: string
          maxLength: 3
          description: >-
            ISO 4217 currency code, used when `format` is `currency`; defaults
            to USD when omitted
        show_as:
          $ref: '#/components/schemas/FieldNumberShowAsSchema'
      description: Display options for the number field
    FieldDateDisplaySchema:
      allOf:
        - $ref: '#/components/schemas/FieldDisplaySchema'
        - type: object
          properties:
            date_format:
              $ref: '#/components/schemas/FieldDateFormatSchema'
      description: Display options for the date field
    FieldDateTimeDisplaySchema:
      allOf:
        - $ref: '#/components/schemas/FieldDisplaySchema'
        - type: object
          properties:
            date_format:
              $ref: '#/components/schemas/FieldDateFormatSchema'
            time_format:
              $ref: '#/components/schemas/FieldTimeFormatSchema'
      description: Display options for the datetime field
    FieldDateTimeSourceSchema:
      type: string
      enum:
        - created_at
        - updated_at
      description: >-
        Record timestamp a sourced datetime field renders. A sourced field is
        readonly and stores no values. Table fields on custom tables only;
        immutable after create.
    FieldEnumDisplaySchema:
      allOf:
        - $ref: '#/components/schemas/FieldDisplaySchema'
        - type: object
          properties:
            render:
              $ref: '#/components/schemas/FieldEnumDisplayRenderSchema'
            sort:
              $ref: '#/components/schemas/FieldEnumDisplaySortSchema'
      description: Display options for the enum field
    FieldEnumItemSchema:
      type: object
      properties:
        label:
          type: string
          description: Label of the enum item
        value:
          type: string
          description: Value of the enum item
        description:
          type: string
          description: Description of the enum item
        color:
          $ref: '#/components/schemas/ColorNameSchema'
        icon:
          type: string
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
          description: The name of the icon to use in the UI
          oneOf:
            - $ref: '#/components/schemas/IconNameSchema'
        icon_url:
          type: string
        metadata:
          $ref: '#/components/schemas/FieldEnumItemMetadataSchema'
      required:
        - value
      description: The enum item
    FieldFileDisplaySchema:
      allOf:
        - $ref: '#/components/schemas/FieldDisplaySchema'
        - type: object
          properties:
            render:
              $ref: '#/components/schemas/FieldFileDisplayRenderSchema'
      description: Display options for the file field
    FileVisibilitySchema:
      type: string
      enum:
        - PUBLIC
        - PRIVATE
      description: >-
        Whether the file is private or public, private files URLs are signed
        with a token and can be accessed temporarily
      example: PRIVATE
    FileSchema:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the file
        file_path:
          type: string
          maxLength: 2048
          description: Path to the file in the storage system
        file_filename:
          type: string
          maxLength: 255
          description: Name of the file
          example: document.pdf
        file_size:
          type: number
          description: Size of the file in bytes
          example: 1024
        file_mimetype:
          type: string
          maxLength: 255
          description: MIME type of the file
          example: application/pdf
        file_url:
          type: string
          maxLength: 2048
          description: URL to access the file
        created_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Timestamp when the file was created
      required:
        - id
        - file_path
        - file_filename
        - file_size
        - file_mimetype
        - file_url
        - created_at
      description: Detailed information about a file
    FieldUserSourceSchema:
      type: string
      enum:
        - created_by
        - updated_by
      description: >-
        Record actor a sourced user field renders. A sourced field is readonly
        and stores no values. Table fields on custom tables only; immutable
        after create.
    FieldLayoutSchema:
      type: string
      enum:
        - inline
        - stacked
      description: Controls how the label and field are arranged (inline or stacked)
    FieldContainerSchema:
      type: string
      enum:
        - grid
        - full
        - center
      description: >-
        Controls how the field container behaves in terms of width and
        positioning
    FieldEmptySchema:
      type: string
      enum:
        - show
        - hide
      description: >-
        What to render when an `object` field resolves to no visible sub-fields.
        Defaults to `hide` when the sub-fields come from a remote sync
        (`additional_properties.path`) — an empty result has nothing to fill in
        — and to `show` for every other field. Only honoured on fields marked
        `optional`: hiding a required field would leave a form that cannot be
        completed and no visible reason why. Never applies while the sync is
        loading or errored, nor while `requires` siblings are unfilled — those
        states keep rendering their own message — and never in the field editor,
        where the empty container is the drop target.
    FieldStringDisplayRenderSchema:
      type: string
      enum:
        - text
        - textarea
        - password
      description: >-
        The render type of the string field, text is a single line input,
        textarea is a multi-line input
    FieldNumberDisplayFormatSchema:
      type: string
      enum:
        - number
        - percent
        - currency
      description: >-
        Numeric style (maps to Intl.NumberFormat `style`); `number` is a plain
        number. Thousand separators are always applied.
    FieldNumberDisplayNotationSchema:
      type: string
      enum:
        - standard
        - compact
      description: >-
        Number notation (maps to Intl.NumberFormat `notation`); `compact`
        renders 1.2K (short form)
    FieldNumberShowAsSchema:
      type: object
      properties:
        kind:
          type: string
          enum:
            - number
            - bar
            - ring
          description: 'How to render the number: a plain value, a progress bar, or a ring'
        color:
          $ref: '#/components/schemas/ColorNameSchema'
        divide_by:
          type: number
          exclusiveMinimum: 0
          description: Denominator for the bar / ring progress (value / divide_by)
        show_number:
          type: boolean
          description: Show the numeric value alongside the bar / ring
      required:
        - kind
      description: Renders the number as a plain value, a progress bar, or a ring
    FieldDateFormatSchema:
      type: string
      enum:
        - full
        - short
        - month_day_year
        - day_month_year
        - year_month_day
        - relative
      description: The rendered date format for date / datetime fields
    FieldTimeFormatSchema:
      type: string
      enum:
        - hidden
        - 12h
        - 24h
      description: >-
        The rendered time format for datetime / time fields. `hidden` collapses
        a datetime to a date-only render.
    FieldEnumDisplayRenderSchema:
      type: string
      enum:
        - dropdown
        - inline
      description: The render type of the enum field
    FieldEnumDisplaySortSchema:
      type: string
      enum:
        - manual
        - asc
        - desc
      description: >-
        Option ordering by label; `manual` keeps the `items[]` order (default),
        `asc` A→Z, `desc` Z→A
    IconNameSchema:
      type: string
      enum:
        - StepFormIcon
        - StepAiIcon
        - StepNoteIcon
        - StepBranchIcon
        - StepCodeIcon
        - SmsIcon
        - ConnectionIcon
        - ConnectionSchedulerIcon
        - ConnectionFilesIcon
        - ConnectionHttpIcon
        - ConnectionHttpCredentialsIcon
        - ConnectionWorkflowIcon
        - ConnectionMcpIcon
        - ConnectionOpenApiIcon
        - ConnectionAudienceIcon
        - ConnectionContactsIcon
        - ConnectionTablesIcon
        - ConnectionAssistantsIcon
        - ConnectionAgentsIcon
        - ConnectionChatsIcon
        - ConnectionInboxIcon
        - ConnectionKnowledgeIcon
        - ConnectionAuditIcon
        - InternalIntegrationIcon
        - CustomIntegrationIcon
        - ToolThinkIcon
        - ToolWebSearchIcon
        - ToolWebScrapingIcon
        - ToolGenerateImageIcon
        - ToolDisplayFileIcon
        - ToolCalculatorIcon
        - ToolGenerateFileIcon
        - ToolGeneratePdfIcon
        - ToolRunCodeIcon
        - ToolDeepResearchIcon
        - ToolSearchKbIcon
        - ToolShowOptionsIcon
        - ToolRequestLocationIcon
        - ToolSendLocationIcon
        - ToolSendContactIcon
        - ToolManageMemoryIcon
        - ToolUpdateContactIcon
        - TextIcon
        - ClockFadingIcon
        - CalendarIcon
        - CloudIcon
        - GlobeAltIcon
        - LockClosedIcon
        - NoSymbolIcon
        - SparklesIcon
        - AcademicCapIcon
        - HandRaisedIcon
        - BoltIcon
        - WorkflowIcon
        - FileSpreadsheetIcon
        - DatabaseIcon
        - TableIcon
        - TableRowIcon
        - TableRowAddIcon
        - TableRowEditIcon
        - TableRowDeleteIcon
        - TableRowsIcon
        - PageIcon
        - UserIcon
        - UsersIcon
        - EmailIcon
        - PhoneIcon
        - CurrencyIcon
        - FunctionIcon
        - TableCellsIcon
        - DocumentTextIcon
        - QueueListIcon
        - TagIcon
        - SettingsIcon
        - ShoppingCartIcon
        - ShoppingBagIcon
        - BuildingStorefrontIcon
        - MegaphoneIcon
        - WrenchScrewdriverIcon
        - MagnifyingGlassIcon
        - DocumentChartBarIcon
        - ClipboardDocumentListIcon
        - ClipboardDocumentCheckIcon
        - FolderIcon
        - ArchiveBoxIcon
        - InboxIcon
        - BookOpenIcon
        - BookmarkIcon
        - NewspaperIcon
        - RectangleStackIcon
        - PencilSquareIcon
        - UserGroupIcon
        - UserPlusIcon
        - IdentificationIcon
        - FaceSmileIcon
        - HandThumbUpIcon
        - HeartIcon
        - StarIcon
        - CheckBadgeIcon
        - TrophyIcon
        - CrownIcon
        - ChatBubbleLeftIcon
        - ChatBubbleLeftRightIcon
        - EnvelopeIcon
        - EnvelopeOpenIcon
        - DevicePhoneMobileIcon
        - BellIcon
        - PaperAirplaneIcon
        - AtSymbolIcon
        - RssIcon
        - LifebuoyIcon
        - CreditCardIcon
        - BanknotesIcon
        - CurrencyDollarIcon
        - CurrencyEuroIcon
        - ReceiptPercentIcon
        - WalletIcon
        - CoinsIcon
        - GiftIcon
        - TicketIcon
        - ScaleIcon
        - TruckIcon
        - CubeIcon
        - CalendarDaysIcon
        - CalendarDateRangeIcon
        - ClockIcon
        - FlagIcon
        - CheckCircleIcon
        - ListBulletIcon
        - FunnelIcon
        - ChartBarIcon
        - ChartPieIcon
        - PresentationChartLineIcon
        - ArrowTrendingUpIcon
        - BriefcaseIcon
        - Cog6ToothIcon
        - KeyIcon
        - ShieldCheckIcon
        - LightBulbIcon
        - BeakerIcon
        - BugAntIcon
        - CpuChipIcon
        - CodeBracketIcon
        - CommandLineIcon
        - ServerIcon
        - LinkIcon
        - HomeIcon
        - HomeModernIcon
        - BuildingOfficeIcon
        - BuildingOffice2Icon
        - BuildingLibraryIcon
        - MapPinIcon
        - MapIcon
        - GlobeAmericasIcon
        - RocketLaunchIcon
        - PlaneIcon
        - CarIcon
        - SunIcon
        - MoonIcon
        - FireIcon
        - CakeIcon
        - ScissorsIcon
        - SwatchIcon
        - PaintBrushIcon
        - CoffeeIcon
        - UtensilsIcon
        - LeafIcon
        - DumbbellIcon
        - HeartPulseIcon
        - PawPrintIcon
        - StethoscopeIcon
        - CameraIcon
        - PhotoIcon
        - FilmIcon
        - VideoCameraIcon
        - MicrophoneIcon
        - MusicalNoteIcon
        - SpeakerWaveIcon
        - PlayCircleIcon
        - TvIcon
        - RadioIcon
        - PuzzlePieceIcon
        - GamepadIcon
        - ModelAutoIcon
        - ModelOpenAIIcon
        - ModelAnthropicIcon
        - ModelClaudeIcon
        - ModelGoogleIcon
        - ModelGeminiIcon
        - ModelXAIIcon
        - ModelGrokIcon
        - ModelPerplexityIcon
        - ModelGroqIcon
        - ModelAzureIcon
        - ModelElevenLabsIcon
        - ModelDeepgramIcon
        - ModelOpenRouterIcon
        - ModelDeepSeekIcon
        - ModelMoonshotIcon
        - ModelQwenIcon
        - ModelMetaIcon
        - ModelZhipuIcon
      description: The name of the icon to use in the UI
    FieldEnumItemMetadataSchema:
      type: object
      properties:
        link:
          type: string
          format: uri
          description: A link associated with the enum item
        data:
          description: Additional data for the enum item
      description: Additional metadata for the enum item
    FieldFileDisplayRenderSchema:
      type: string
      enum:
        - button
        - dropzone
      description: The render type of the file field
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Bearer token authentication using your API key

````