Frontline AI Models API

Discover available AI models for agent configuration

OpenAPI Specification

frontline-ai-models-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Public Account AI Models 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: AI Models
  description: Discover available AI models for agent configuration
paths:
  /public/v1/ai-models:
    get:
      summary: List AI models
      operationId: listAiModels
      description: Returns available AI models. Use these IDs when configuring an agent setting.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - AI Models
      parameters:
      - schema:
          type: string
          enum:
          - TEXT
          - TRANSCRIPTION
          - FILE_ANALYSIS
          example: TEXT
        required: false
        name: type
        in: query
      responses:
        '200':
          description: A list of AI models
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/AiModel'
                required:
                - results
                description: Standard list response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/ai-models/default:
    get:
      summary: Get default AI model
      operationId: getDefaultAiModel
      description: Returns the default AI model for the requested model type.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - AI Models
      parameters:
      - schema:
          type: string
          enum:
          - TEXT
          - TRANSCRIPTION
          - FILE_ANALYSIS
          example: TEXT
        required: false
        name: type
        in: query
      responses:
        '200':
          description: Default AI model
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiModel'
        '404':
          description: Default AI model not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/ai-models/{aiModelId}:
    get:
      summary: Get AI model
      operationId: getAiModel
      description: Returns one AI model by ID.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - AI Models
      parameters:
      - schema:
          type: number
          nullable: true
          example: 1
        required: false
        name: aiModelId
        in: path
      responses:
        '200':
          description: AI model
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiModel'
        '404':
          description: AI model 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
    AiModel:
      type: object
      properties:
        id:
          type: number
          example: 1
        name:
          type: string
          example: example
        description:
          type: string
          nullable: true
          example: example
        creditsPerMessage:
          type: number
          example: 1
        isDefault:
          type: boolean
          example: false
        order:
          type: number
          example: 1
        analyticsColor:
          type: string
          nullable: true
          example: example
        externalId:
          type: string
          nullable: true
          example: example
        aiVendor:
          type: string
          example: example
        reasoningModel:
          type: boolean
          example: false
        type:
          type: string
          enum:
          - TEXT
          - TRANSCRIPTION
          - FILE_ANALYSIS
          example: TEXT
      required:
      - id
      - name
  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