Frontline Table activities API

Manual activities (notes, calls, meetings, emails) attached to table rows

OpenAPI Specification

frontline-table-activities-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Public Account Table activities 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: Table activities
  description: Manual activities (notes, calls, meetings, emails) attached to table rows
paths:
  /public/v1/tables/{name}/rows/{rowId}/activities:
    get:
      summary: List activities
      operationId: listTableActivities
      description: Returns manually-created activities attached to a row. Activities log interactions like notes, calls, meetings, and emails.
      security:
      - bearerAuth: []
      tags:
      - Table activities
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      - schema:
          type: string
          example: 65cf9b3a4b7c2a0012a3b4c5
        required: true
        name: rowId
        in: path
      responses:
        '200':
          description: Activities
          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
                        row_id:
                          type: string
                          example: example
                        type:
                          type: string
                          enum:
                          - NOTE
                          - EMAIL
                          - PHONE_CALL
                          - MEETING
                          - WHATSAPP
                          description: NOTE | EMAIL | PHONE_CALL | MEETING | WHATSAPP
                          example: NOTE
                        content:
                          type: string
                          example: example
                        activity_date:
                          type: string
                          nullable: true
                          example: example
                        additional_data:
                          type: object
                          nullable: true
                          additionalProperties:
                            nullable: true
                            type: object
                        related_table_id:
                          type: number
                          nullable: true
                          example: 1
                        related_row_id:
                          type: string
                          nullable: true
                          example: example
                        users:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                example: 1
                              email:
                                type: string
                                example: example
                            required:
                            - id
                            - email
                        created_by:
                          type: number
                          nullable: true
                          example: 1
                        created_at:
                          type: string
                          nullable: true
                          example: example
                        updated_at:
                          type: string
                          nullable: true
                          example: example
                      required:
                      - id
                      - row_id
                      - type
                      - content
                      - 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 activity
      operationId: createTableActivity
      description: Attaches a manual activity to a row. Use `type` to categorize it (NOTE, PHONE_CALL, MEETING, EMAIL, WHATSAPP). Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Table activities
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      - schema:
          type: string
          example: 65cf9b3a4b7c2a0012a3b4c5
        required: true
        name: rowId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  minLength: 1
                  example: example
                type:
                  type: string
                  enum:
                  - NOTE
                  - EMAIL
                  - PHONE_CALL
                  - MEETING
                  - WHATSAPP
                  default: NOTE
                  example: NOTE
                activityDate:
                  type: string
                  nullable: true
                  example: example
                additionalData:
                  type: object
                  nullable: true
                  additionalProperties:
                    nullable: true
                    type: object
                userIds:
                  type: array
                  items:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    example: 1
                relatedTableId:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  example: 1
                relatedRowId:
                  type: string
                  example: example
              required:
              - content
      responses:
        '201':
          description: Created activity
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        example: 1
                      row_id:
                        type: string
                        example: example
                      type:
                        type: string
                        enum:
                        - NOTE
                        - EMAIL
                        - PHONE_CALL
                        - MEETING
                        - WHATSAPP
                        description: NOTE | EMAIL | PHONE_CALL | MEETING | WHATSAPP
                        example: NOTE
                      content:
                        type: string
                        example: example
                      activity_date:
                        type: string
                        nullable: true
                        example: example
                      additional_data:
                        type: object
                        nullable: true
                        additionalProperties:
                          nullable: true
                          type: object
                      related_table_id:
                        type: number
                        nullable: true
                        example: 1
                      related_row_id:
                        type: string
                        nullable: true
                        example: example
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            email:
                              type: string
                              example: example
                          required:
                          - id
                          - email
                      created_by:
                        type: number
                        nullable: true
                        example: 1
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                    required:
                    - id
                    - row_id
                    - type
                    - content
                    - 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}/activities/{id}:
    get:
      summary: Get activity
      operationId: getTableActivity
      description: Returns an activity by id.
      security:
      - bearerAuth: []
      tags:
      - Table activities
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 100
        required: true
        name: id
        in: path
      responses:
        '200':
          description: Activity
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        example: 1
                      row_id:
                        type: string
                        example: example
                      type:
                        type: string
                        enum:
                        - NOTE
                        - EMAIL
                        - PHONE_CALL
                        - MEETING
                        - WHATSAPP
                        description: NOTE | EMAIL | PHONE_CALL | MEETING | WHATSAPP
                        example: NOTE
                      content:
                        type: string
                        example: example
                      activity_date:
                        type: string
                        nullable: true
                        example: example
                      additional_data:
                        type: object
                        nullable: true
                        additionalProperties:
                          nullable: true
                          type: object
                      related_table_id:
                        type: number
                        nullable: true
                        example: 1
                      related_row_id:
                        type: string
                        nullable: true
                        example: example
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            email:
                              type: string
                              example: example
                          required:
                          - id
                          - email
                      created_by:
                        type: number
                        nullable: true
                        example: 1
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                    required:
                    - id
                    - row_id
                    - type
                    - content
                    - 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'
    patch:
      summary: Update activity
      operationId: updateTableActivity
      description: Updates an activity. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Table activities
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 100
        required: true
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  minLength: 1
                  example: example
                activityDate:
                  type: string
                  nullable: true
                  example: example
                additionalData:
                  type: object
                  nullable: true
                  additionalProperties:
                    nullable: true
                    type: object
                userIds:
                  type: array
                  items:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    example: 1
                relatedTableId:
                  type: integer
                  nullable: true
                  minimum: 0
                  exclusiveMinimum: true
                  example: 1
                relatedRowId:
                  type: string
                  nullable: true
                  example: example
      responses:
        '200':
          description: Updated activity
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        example: 1
                      row_id:
                        type: string
                        example: example
                      type:
                        type: string
                        enum:
                        - NOTE
                        - EMAIL
                        - PHONE_CALL
                        - MEETING
                        - WHATSAPP
                        description: NOTE | EMAIL | PHONE_CALL | MEETING | WHATSAPP
                        example: NOTE
                      content:
                        type: string
                        example: example
                      activity_date:
                        type: string
                        nullable: true
                        example: example
                      additional_data:
                        type: object
                        nullable: true
                        additionalProperties:
                          nullable: true
                          type: object
                      related_table_id:
                        type: number
                        nullable: true
                        example: 1
                      related_row_id:
                        type: string
                        nullable: true
                        example: example
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                              example: 1
                            email:
                              type: string
                              example: example
                          required:
                          - id
                          - email
                      created_by:
                        type: number
                        nullable: true
                        example: 1
                      created_at:
                        type: string
                        nullable: true
                        example: example
                      updated_at:
                        type: string
                        nullable: true
                        example: example
                    required:
                    - id
                    - row_id
                    - type
                    - content
                    - 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 activity
      operationId: deleteTableActivity
      description: Deletes a manually-created activity. Only the owner or an account admin can delete. Auto-generated activities cannot be deleted. Requires a USER API key.
      security:
      - bearerAuth: []
      tags:
      - Table activities
      parameters:
      - schema:
          type: string
          minLength: 1
          example: tasks_board
        required: true
        name: name
        in: path
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          example: 100
        required: true
        name: id
        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'
components:
  schemas:
    Error:
      type: object
      properties:
        ok:
          type: boolean
          enum:
          - false
          example: false
        error:
          $ref: '#/components/schemas/ErrorBody'
      required:
      - ok
      - error
    ErrorBody:
      type: object
      properties:
        code:
          type: string
          enum:
          - bad_request
          - unauthorized
          - forbidden
          - not_found
          - conflict
          - internal_error
          - cli_outdated
          example: unauthorized
        message:
          type: string
          example: Detailed error message
        details:
          type: object
          description: 'Optional structured details. Validation errors include `{ issues: [...] }`.'
          example:
            issues:
            - path:
              - name
              message: String must contain at least 1 character(s)
              code: too_small
      required:
      - code
      - message
  securitySchemes:
    accountApiKey:
      type: http
      scheme: bearer
      bearerFormat: Account API Key
      description: Account-level API key (GENERAL). Authenticates on behalf of the entire account. Use for read-only and analytics endpoints marked as account-level in this documentation.
    userApiKey:
      type: http
      scheme: bearer
      bearerFormat: User API Key
      description: User-level API key (USER). Authenticates on behalf of a specific user. Required for write operations and user-owned resources. Also accepted on all account-level endpoints.
x-tagGroups:
- name: Agent Builder
  tags:
  - Agent Builder
  - Flows
  - Flow Variables
  - Intents
  - Agents
- name: Workflows
  tags:
  - Workflows
  - Workflow Variables
- name: Objects
  tags:
  - Objects
  - Object fields
  - Object options
  - Object record types
  - Object views
  - Object relations
  - Object rows
  - Object aggregations
  - Object activities
  - Object tasks
  - Object files
  - Object export
- name: Tables
  tags:
  - Tables
  - Table fields
  - Table options
  - Table rows
  - Table aggregations
  - Table activities
  - Table tasks
  - Table files
  - Table export
- name: Integrations
  tags:
  - Tools
  - Incoming Webhooks
- name: Core
  tags:
  - Account
  - AI Models
  - Billing