Frontline Tables API

Manage spreadsheet-style tables

OpenAPI Specification

frontline-tables-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Public Account Tables 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: Tables
  description: Manage spreadsheet-style tables
paths:
  /public/v1/tables:
    get:
      summary: List tables
      operationId: listTables
      description: Returns every table for the authenticated account.
      security:
      - bearerAuth: []
      tags:
      - Tables
      responses:
        '200':
          description: Tables 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
                        display_name:
                          type: string
                          example: example
                        type:
                          type: string
                          enum:
                          - table
                          - object
                          example: table
                        custom:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          nullable: true
                          example: example
                        updated_at:
                          type: string
                          nullable: true
                          example: example
                        description:
                          type: string
                          example: example
                        emoji:
                          type: string
                          example: example
                        icon_color:
                          type: string
                          example: example
                        field_count:
                          type: number
                          example: 1
                      required:
                      - id
                      - name
                      - display_name
                      - type
                      - custom
                      - created_at
                      - updated_at
                required:
                - ok
                - data
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      summary: Create table
      operationId: createTable
      description: Creates a table. Columns can be supplied at creation or added later. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Tables
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  example: example
                displayName:
                  type: string
                  minLength: 1
                  example: example
                emoji:
                  type: string
                  example: example
                icon_color:
                  type: string
                  example: example
                columns:
                  type: array
                  items:
                    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
              required:
              - name
              - displayName
      responses:
        '201':
          description: Created table
          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
                      display_name:
                        type: string
                        example: example
                      type:
                        type: string
                        enum:
                        - table
                        - object
                        example: table
                      custom:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                      description:
                        type: string
                        example: example
                      emoji:
                        type: string
                        example: example
                      icon_color:
                        type: string
                        example: example
                      field_count:
                        type: number
                        example: 1
                      fields:
                        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
                      views:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            name:
                              type: string
                              example: example
                            type:
                              type: string
                              enum:
                              - TABLE
                              - KANBAN
                              - RECORD
                              example: TABLE
                            is_default:
                              type: boolean
                              example: false
                            is_private:
                              type: boolean
                              example: false
                            record_type_id:
                              type: number
                              nullable: true
                              example: 1
                            created_at:
                              type: string
                              nullable: true
                              example: example
                            updated_at:
                              type: string
                              nullable: true
                              example: example
                            column_order:
                              type: array
                              items:
                                type: string
                                example: example
                            hidden_columns:
                              type: array
                              items:
                                type: string
                                example: example
                            sticky_columns:
                              type: array
                              items:
                                type: string
                                example: example
                            grouping_field_id:
                              type: number
                              example: 1
                            column_ordering:
                              nullable: true
                              type: object
                            title_field_id:
                              type: number
                              example: 1
                            display_field_ids:
                              type: array
                              items:
                                type: number
                                example: 1
                          required:
                          - id
                          - name
                          - type
                          - is_default
                          - is_private
                          - record_type_id
                          - created_at
                          - updated_at
                      record_types:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            name:
                              type: string
                              example: example
                            display_name:
                              type: string
                              example: example
                            is_default:
                              type: boolean
                              example: false
                            single_noun:
                              type: string
                              example: example
                            emoji:
                              type: string
                              example: example
                            icon_color:
                              type: string
                              example: example
                            disable_side_effects:
                              type: boolean
                              example: false
                            field_ids:
                              type: array
                              items:
                                type: number
                                example: 1
                            views:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: number
                                    example: 1
                                  name:
                                    type: string
                                    example: example
                                  type:
                                    type: string
                                    enum:
                                    - TABLE
                                    - KANBAN
                                    - RECORD
                                    example: TABLE
                                  is_default:
                                    type: boolean
                                    example: false
                                  is_private:
                                    type: boolean
                                    example: false
                                  record_type_id:
                                    type: number
                                    nullable: true
                                    example: 1
                                  created_at:
                                    type: string
                                    nullable: true
                                    example: example
                                  updated_at:
                                    type: string
                                    nullable: true
                                    example: example
                                  column_order:
                                    type: array
                                    items:
                                      type: string
                                      example: example
                                  hidden_columns:
                                    type: array
                                    items:
                                      type: string
                                      example: example
                                  sticky_columns:
                                    type: array
                                    items:
                                      type: string
                                      example: example
                                  grouping_field_id:
                                    type: number
                                    example: 1
                                  column_ordering:
                                    nullable: true
                                    type: object
                                  title_field_id:
                                    type: number
                                    example: 1
                                  display_field_ids:
                                    type: array
                                    items:
                                      type: number
                                      example: 1
                                required:
                                - id
                                - name
                                - type
                                - is_default
                                - is_private
                                - record_type_id
                                - created_at
                                - updated_at
                          required:
                          - id
                          - name
                          - display_name
                          - is_default
                    required:
                    - id
                    - name
                    - display_name
                    - type
                    - custom
                    - 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/tables/{name}:
    get:
      summary: Get table
      operationId: getTable
      description: Returns one table including fields and views.
      security:
      - bearerAuth: []
      tags:
      - Tables
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      responses:
        '200':
          description: Table detail
          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
                      display_name:
                        type: string
                        example: example
                      type:
                        type: string
                        enum:
                        - table
                        - object
                        example: table
                      custom:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                      description:
                        type: string
                        example: example
                      emoji:
                        type: string
                        example: example
                      icon_color:
                        type: string
                        example: example
                      field_count:
                        type: number
                        example: 1
                      fields:
                        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
                      views:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            name:
                              type: string
                              example: example
                            type:
                              type: string
                              enum:
                              - TABLE
                              - KANBAN
                              - RECORD
                              example: TABLE
                            is_default:
                          

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