Frontline Object fields API

Manage columns on an object

OpenAPI Specification

frontline-object-fields-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Public Account Object fields API
  version: 1.0.0
  description: 'Public API for accessing agents, flows, and analytics.


    ## Authentication


    The Public API supports two API key types. Pass the key as a Bearer token:


    ```

    Authorization: Bearer <YOUR_API_KEY>

    ```


    ### Account API key (GENERAL)


    Account-level key that acts on behalf of the entire account. Required for account-level endpoints unless noted otherwise.


    ### User API key (USER)


    User-level key tied to a specific user. Required for write operations and user-owned resources. **Also accepted on all account-level endpoints.**


    Each operation documents which key type(s) it accepts in its **Security** section.'
  license:
    name: Proprietary
    url: https://www.getfrontline.ai/terms-and-conditions
servers:
- url: https://prod-api.getfrontline.ai
tags:
- name: Object fields
  description: Manage columns on an object
paths:
  /public/v1/objects/{name}/fields:
    get:
      summary: List object fields
      operationId: listObjectFields
      description: Returns the columns defined on an object.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      responses:
        '200':
          description: Fields list
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          example: 1
                        name:
                          type: string
                          example: example
                        key:
                          type: string
                          example: example
                        type:
                          type: string
                          example: example
                        editable:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          nullable: true
                          example: example
                        updated_at:
                          type: string
                          nullable: true
                          example: example
                        read_only:
                          type: boolean
                          example: false
                        required:
                          type: boolean
                          example: false
                        unique:
                          type: boolean
                          example: false
                        is_system:
                          type: boolean
                          example: false
                        is_predefined:
                          type: boolean
                          example: false
                        default_value:
                          nullable: true
                          type: object
                        format:
                          type: string
                          example: example
                        mode:
                          type: string
                          enum:
                          - singleSelect
                          - multiSelect
                          - single
                          - multi
                          example: singleSelect
                        timezone:
                          type: string
                          example: example
                        decimals:
                          type: number
                          example: 1
                        currency:
                          type: string
                          example: example
                        time_format:
                          type: string
                          example: example
                        show_preview:
                          type: boolean
                          example: false
                        allowed_file_types:
                          type: array
                          items:
                            type: string
                            example: example
                        max_file_size:
                          type: number
                          example: 1
                        related_table_id:
                          type: number
                          example: 1
                        display_field_id:
                          type: number
                          example: 1
                        relation_mode:
                          type: string
                          example: example
                        include_activity:
                          type: boolean
                          example: false
                        options:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                example: 1
                              name:
                                type: string
                                example: example
                              color:
                                type: string
                                example: example
                              order:
                                type: number
                                example: 1
                              created_at:
                                type: string
                                nullable: true
                                example: example
                              updated_at:
                                type: string
                                nullable: true
                                example: example
                            required:
                            - id
                            - name
                            - color
                            - order
                            - created_at
                            - updated_at
                        expression:
                          nullable: true
                          type: object
                        output_type:
                          type: string
                          example: example
                        apply_if:
                          nullable: true
                          type: object
                        number_config:
                          nullable: true
                          type: object
                        date_config:
                          nullable: true
                          type: object
                        string_config:
                          nullable: true
                          type: object
                      required:
                      - id
                      - name
                      - key
                      - type
                      - editable
                      - created_at
                      - updated_at
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      summary: Create object field
      operationId: createObjectField
      description: Creates a column on an object. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  example: example
                type:
                  anyOf:
                  - type: string
                    enum:
                    - string
                    - number
                    - boolean
                    - date
                    - tags
                    - relation
                    - autoIncrement
                    - dateOnly
                    - prismaRelation
                    - kanbanViewOrder
                    - file
                    - avatar
                    - formula
                    example: string
                  - type: string
                    enum:
                    - select
                    example: select
                metadata:
                  type: object
                  additionalProperties:
                    nullable: true
                    type: object
                record_type_id:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  example: 1
                recordTypeId:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  example: 1
              required:
              - name
              - type
              additionalProperties: false
      responses:
        '201':
          description: Created field
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        example: 1
                      name:
                        type: string
                        example: example
                      key:
                        type: string
                        example: example
                      type:
                        type: string
                        example: example
                      editable:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                      read_only:
                        type: boolean
                        example: false
                      required:
                        type: boolean
                        example: false
                      unique:
                        type: boolean
                        example: false
                      is_system:
                        type: boolean
                        example: false
                      is_predefined:
                        type: boolean
                        example: false
                      default_value:
                        nullable: true
                        type: object
                      format:
                        type: string
                        example: example
                      mode:
                        type: string
                        enum:
                        - singleSelect
                        - multiSelect
                        - single
                        - multi
                        example: singleSelect
                      timezone:
                        type: string
                        example: example
                      decimals:
                        type: number
                        example: 1
                      currency:
                        type: string
                        example: example
                      time_format:
                        type: string
                        example: example
                      show_preview:
                        type: boolean
                        example: false
                      allowed_file_types:
                        type: array
                        items:
                          type: string
                          example: example
                      max_file_size:
                        type: number
                        example: 1
                      related_table_id:
                        type: number
                        example: 1
                      display_field_id:
                        type: number
                        example: 1
                      relation_mode:
                        type: string
                        example: example
                      include_activity:
                        type: boolean
                        example: false
                      options:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            name:
                              type: string
                              example: example
                            color:
                              type: string
                              example: example
                            order:
                              type: number
                              example: 1
                            created_at:
                              type: string
                              nullable: true
                              example: example
                            updated_at:
                              type: string
                              nullable: true
                              example: example
                          required:
                          - id
                          - name
                          - color
                          - order
                          - created_at
                          - updated_at
                      expression:
                        nullable: true
                        type: object
                      output_type:
                        type: string
                        example: example
                      apply_if:
                        nullable: true
                        type: object
                      number_config:
                        nullable: true
                        type: object
                      date_config:
                        nullable: true
                        type: object
                      string_config:
                        nullable: true
                        type: object
                    required:
                    - id
                    - name
                    - key
                    - type
                    - editable
                    - created_at
                    - updated_at
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/objects/{name}/fields/{fieldId}:
    patch:
      summary: Update object field
      operationId: updateObjectField
      description: Updates a field's metadata, defaults, or ordering. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 42
        required: true
        name: fieldId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  example: example
                type:
                  anyOf:
                  - type: string
                    enum:
                    - string
                    - number
                    - boolean
                    - date
                    - tags
                    - relation
                    - autoIncrement
                    - dateOnly
                    - prismaRelation
                    - kanbanViewOrder
                    - file
                    - avatar
                    - formula
                    example: string
                  - type: string
                    enum:
                    - select
                    example: select
                metadata:
                  type: object
                  additionalProperties:
                    nullable: true
                    type: object
                order:
                  type: integer
                  example: 1
                required:
                  type: boolean
                  example: false
                unique:
                  type: boolean
                  example: false
                tags:
                  type: array
                  items:
                    type: object
                    additionalProperties:
                      nullable: true
                      type: object
                defaultValue:
                  nullable: true
                  type: object
              additionalProperties: false
      responses:
        '200':
          description: Updated field
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        example: 1
                      name:
                        type: string
                        example: example
                      key:
                        type: string
                        example: example
                      type:
                        type: string
                        example: example
                      editable:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                      read_only:
                        type: boolean
                        example: false
                      required:
                        type: boolean
                        example: false
                      unique:
                        type: boolean
                        example: false
                      is_system:
                        type: boolean
                        example: false
                      is_predefined:
                        type: boolean
                        example: false
                      default_value:
                        nullable: true
                        type: object
                      format:
                        type: string
                        example: example
                      mode:
                        type: string
                        enum:
                        - singleSelect
                        - multiSelect
                        - single
                        - multi
                        example: singleSelect
                      timezone:
                        type: string
                        example: example
                      decimals:
                        type: number
                        example: 1
                      currency:
                        type: string
                        example: example
                      time_format:
                        type: string
                        example: example
                      show_preview:
                        type: boolean
                        example: false
                      allowed_file_types:
                        type: array
                        items:
                          type: string
                          example: example
                      max_file_size:
                        type: number
                        example: 1
                      related_table_id:
                        type: number
                        example: 1
                      display_field_id:
                        type: number
                        example: 1
                      relation_mode:
                        type: string
                        example: example
                      include_activity:
                        type: boolean
                        example: false
                      options:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            name:
                              type: string
                              example: example
                            color:
                              type: string
                              example: example
                            order:
                              type: number
                              example: 1
                            created_at:
                              type: string
                              nullable: true
                              example: example
                            updated_at:
                              type: string
                              nullable: true
                              example: example
                          required:
                          - id
                          - name
                          - color
                          - order
                          - created_at
                          - updated_at
                      expression:
                        nullable: true
                        type: object
                      output_type:
                        type: string
                        example: example
                      apply_if:
                        nullable: true
                        type: object
                      number_config:
                        nullable: true
                        type: object
                      date_config:
                        nullable: true
                        type: object
                      string_config:
                        nullable: true
                        type: object
                    required:
                    - id
                    - name
                    - key
                    - type
                    - editable
                    - created_at
                    - updated_at
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      summary: Delete object field
      operationId: deleteObjectField
      description: Deletes a column from an object. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 42
        required: true
        name: fieldId
        in: path
      responses:
        '200':
          description: Deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      deleted:
                        type: boolean
                        enum:
                        - true
                        example: true
                      id:
                        anyOf:
                        - type: string
                          example: example
                        - type: number
                          example: 1
                    required:
                    - deleted
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/objects/{name}/fields/{fieldId}/formula-dependencies:
    get:
      summary: Get object field formula dependencies
      operationId: getObjectFieldFormulaDependencies
      description: Returns the formula dependencies for a specific field.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 42
        required: true
        name: fieldId
        in: path
      responses:
        '200':
          description: Formula dependencies
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: number
                        example: 1
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/objects/{name}/fields/preview-formula:
    post:
      summary: Preview formula evaluation
      operationId: previewObjectFormula
      description: Previews formula evaluation on existing data. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Object fields
      parameters:
      - schema:
          type: string
          minLength: 1
          example: deals
        required: true
        name: name
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                formulaMetadata:
                  type: object
                  properties:
                    applyIf:
                      type: object
                      description: Query preconditions filter
                    expression:
                      type: object
                      description: Formula expression AST
                previewFilter:
                  type: object
                  description: Filter for preview rows
                limit:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  example: 1
              required:
              - formulaMetadata
      responses:
        '200':
          description: Formula preview evaluation results
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            rowId:
                              type: string
                              example: example
                            rowName:
                              type: string
                              example: example
                            previewState:
                              type: object
                              properties:
                                value:
                                  nullable: true
                                  type: object
                                isValid:
                                  type: boolean
                                  example: false
                                error:
                                  type: string
                                  nullable: true
                                  example: example
                              required:
                              - isValid
                              - error
                            row:
                              type: object
                              additionalProperties:
                                nullable: true
                                type: object
                          required:
                          - rowId
                          - rowName
                          - previewState
                          - row
                      inferredOutputType:
                        type: string
                        example: example
                    required:
                    - results
                    - inferredOutputType
                required:
                - ok
                - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              sc

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/frontline/refs/heads/main/openapi/frontline-object-fields-api-openapi.yml