Frontline Flows API

View and manage flows associated with your agents

Operations 11

GET /public/v1/agents/{agentId}/flows List flows for an agent #
POST /public/v1/agents/{agentId}/flows Create a flow for an agent #
GET /public/v1/agents/{agentId}/flows/{flowId} Get flow details #
PUT /public/v1/agents/{agentId}/flows/{flowId} Update a flow #
DELETE /public/v1/agents/{agentId}/flows/{flowId} Delete a flow #
GET /public/v1/agents/{agentId}/flows/{flowId}/graph Get flow graph #
POST /public/v1/agents/{agentId}/flows/{flowId}/nodes Create flow node #
PUT /public/v1/agents/{agentId}/flows/{flowId}/nodes/{nodeId} Update flow node #
DELETE /public/v1/agents/{agentId}/flows/{flowId}/nodes/{nodeId} Delete flow node #
POST /public/v1/agents/{agentId}/flows/{flowId}/edges Create flow edge #
DELETE /public/v1/agents/{agentId}/flows/{flowId}/edges Delete flow edge #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/frontline-flows-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

frontline-flows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public Flows 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: Flows
  description: View and manage flows associated with your agents
paths:
  /public/v1/agents/{agentId}/flows:
    get:
      summary: List flows for an agent
      operationId: listAgentFlows
      description: Returns a list of flows associated with a specific agent. Nodes and logic are excluded.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type: string
          enum:
          - ACTIVE
          - SUSPENDED
          - DELETED
          - DRAFT
          example: ACTIVE
        required: false
        name: status
        in: query
      responses:
        '200':
          description: A list of flows
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Flow'
                required:
                - results
                description: Standard list response
        '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 a flow for an agent
      operationId: createAgentFlow
      description: Creates a flow and an empty graph snapshot for a specific agent.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowCreateInput'
      responses:
        '201':
          description: Created flow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowDetail'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/agents/{agentId}/flows/{flowId}:
    get:
      summary: Get flow details
      operationId: getAgentFlow
      description: Returns flow metadata. Pass includeNodes=true to include graph nodes.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      - schema:
          anyOf:
          - type: boolean
          - type: string
        required: false
        name: includeNodes
        in: query
      - schema:
          anyOf:
          - type: boolean
          - type: string
        required: false
        name: draft
        in: query
      responses:
        '200':
          description: Flow details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowDetail'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      summary: Update a flow
      operationId: updateAgentFlow
      description: Updates flow metadata or status.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowUpdateInput'
      responses:
        '200':
          description: Updated flow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowDetail'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      summary: Delete a flow
      operationId: deleteAgentFlow
      description: Soft deletes a flow.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      responses:
        '204':
          description: Flow deleted
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/agents/{agentId}/flows/{flowId}/graph:
    get:
      summary: Get flow graph
      operationId: getAgentFlowGraph
      description: Returns the flow snapshot with nodes and edges.
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      responses:
        '200':
          description: Flow graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowGraph'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/agents/{agentId}/flows/{flowId}/nodes:
    post:
      summary: Create flow node
      operationId: createAgentFlowNode
      description: Creates a node in a flow graph. The server assigns `nodeId` and `alias`; use the 201 response when adding edges or updates.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowNodeCreateInput'
      responses:
        '201':
          description: Created node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicFlowNodeCreated'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/agents/{agentId}/flows/{flowId}/nodes/{nodeId}:
    put:
      summary: Update flow node
      operationId: updateAgentFlowNode
      description: Updates a flow node and returns the updated graph.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      - schema:
          type: string
          example: start_1
        required: true
        name: nodeId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowNodeUpdateInput'
      responses:
        '200':
          description: Updated graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowGraph'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      summary: Delete flow node
      operationId: deleteAgentFlowNode
      description: Deletes a node and removes incoming and outgoing edges.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      - schema:
          type: string
          example: start_1
        required: true
        name: nodeId
        in: path
      responses:
        '200':
          description: Updated graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowGraph'
  /public/v1/agents/{agentId}/flows/{flowId}/edges:
    post:
      summary: Create flow edge
      operationId: createAgentFlowEdge
      description: Adds or replaces an edge by handle in the flow graph.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowEdgeInput'
      responses:
        '200':
          description: Updated graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowGraph'
        '409':
          description: Invalid graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      summary: Delete flow edge
      operationId: deleteAgentFlowEdge
      description: Removes an edge from the flow graph.
      security:
      - userApiKey: []
      tags:
      - Flows
      parameters:
      - schema:
          type: string
          example: uuid-xxxx-xxxx
        required: true
        name: agentId
        in: path
      - schema:
          type:
          - number
          - 'null'
          example: 101
        required: false
        name: flowId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicFlowEdgeDeleteInput'
      responses:
        '200':
          description: Updated graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowGraph'
components:
  schemas:
    PublicFlowNodeCreated:
      allOf:
      - $ref: '#/components/schemas/PublicFlowNode'
      - type: object
        properties:
          alias:
            type: string
            example: Say
        required:
        - alias
    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
    DynamicTablesQuery:
      anyOf:
      - $ref: '#/components/schemas/DynamicTablesQueryCondition'
      - $ref: '#/components/schemas/DynamicTablesQueryGroup'
      - {}
    FlowGraph:
      type: object
      properties:
        id:
          type: string
        assistantId:
          type:
          - string
          - 'null'
        accountId:
          type:
          - number
          - 'null'
        entityId:
          type: number
        type:
          type: string
          enum:
          - FLOW
          - AUTOMATION
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/PublicFlowNode'
        createdAt:
          type: string
        updatedAt:
          type:
          - string
          - 'null'
        executed:
          type: boolean
          default: false
        breakingChangeAt:
          type:
          - string
          - 'null'
        breakingChangeReason:
          type:
          - string
          - 'null'
      required:
      - entityId
      - type
      - nodes
      - createdAt
    PublicFlowNodeUpdateInput:
      type: object
      properties:
        node:
          $ref: '#/components/schemas/PublicFlowNodePatch'
      required:
      - node
    PublicFlowUpdateInput:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          example: Order Routing
        description:
          type:
          - string
          - 'null'
          example: Routes order conversations
        status:
          type: string
          enum:
          - ACTIVE
          - SUSPENDED
          - DELETED
          - DRAFT
          example: ACTIVE
      required:
      - name
    DynamicTablesQueryCondition:
      type: object
      properties:
        path:
          type: string
          description: Field path in format [Field] or [Relation].[Field]
          example: '[Status]'
        operator:
          type: string
          example: equals
        value: {}
        valueType: {}
      required:
      - path
      - operator
    PublicFlowNodePatch:
      type: object
      properties:
        alias:
          type:
          - string
          - 'null'
          example: Greeting
        name:
          type: string
          example: Start
        position:
          type: object
          properties:
            positionX:
              type: number
            positionY:
              type: number
          required:
          - positionX
          - positionY
        type:
          type: string
          enum:
          - START
          - TRIGGER_INTENT
          - SAY_AI
          - RESPONSE_AI
          - TOOLS_AI
          - API
          - CONDITIONAL_ROUTING
          - DYNAMIC_TABLES
          example: START
        data:
          oneOf:
          - type: object
            properties:
              type:
                type: string
                enum:
                - TRIGGER_INTENT
              agenticRouting:
                type:
                - string
                - 'null'
              intentIds:
                type:
                - array
                - 'null'
                items:
                  type: number
              intents:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    id:
                      type: number
                    name:
                      type: string
                    description:
                      type:
                      - string
                      - 'null'
                    createdAt:
                      type:
                      - string
                      - 'null'
                    updatedAt:
                      type:
                      - string
                      - 'null'
                    status:
                      type: string
                      enum:
                      - ACTIVE
                      - DELETED
                    assistantId:
                      type: string
                    phrases:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                          phrase:
                            type: string
                        required:
                        - id
                        - phrase
                    flowId:
                      type:
                      - number
                      - 'null'
                  required:
                  - id
                  - name
                  - createdAt
                  - updatedAt
                  - status
                  - assistantId
            required:
            - type
          - type: object
            properties:
              type:
                type: string
                enum:
                - SAY_AI
              message:
                type:
                - string
                - 'null'
              temperature:
                type: number
                default: 0.7
              prompt:
                type:
                - string
                - 'null'
              aiModelId:
                type:
                - number
                - 'null'
              model:
                type:
                - string
                - 'null'
              aiVendor:
                type:
                - string
                - 'null'
                enum:
                - OPENAI
                - ANTHROPIC
                - GOOGLE
                - AZURE
                - DEEPSEEK
                - LLAMA
              sayWithAi:
                type: boolean
            required:
            - type
            - sayWithAi
          - type: object
            properties:
              type:
                type: string
                enum:
                - RESPONSE_AI
              assistantId:
                type: string
                pattern: '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|agent-[0-9a-zA-Z-]+'
                description: Owning assistant ID or UUID (e.g. agent-xxx or standard UUID). Validated against the account on save.
                example: 550e8400-e29b-41d4-a716-446655440000
              aiModelId:
                type:
                - number
                - 'null'
              model:
                type: string
              aiVendor:
                type: string
                enum:
                - OPENAI
                - ANTHROPIC
                - GOOGLE
                - AZURE
                - DEEPSEEK
                - LLAMA
              instructions:
                type:
                - string
                - 'null'
              temperature:
                type: number
              captureVariables:
                type: array
                items: {}
              exitNodeWhen:
                type: string
                enum:
                - ALL_VARIABLES
                - FLOW_TRIGGERED
                - ANY_VARIABLES
              knowledgeBaseMode:
                type: string
                enum:
                - DEFAULT
                - CUSTOM
                - DISABLED
                default: DEFAULT
              knowledgeBaseIds:
                type:
                - array
                - 'null'
                items:
                  type: integer
                  exclusiveMinimum: 0
            required:
            - type
            - assistantId
            - model
            - aiVendor
            - instructions
            - temperature
            - captureVariables
            - exitNodeWhen
          - type: object
            properties:
              type:
                type: string
                enum:
                - TOOLS_AI
              conditions:
                type: array
                items:
                  type: object
                  properties:
                    handleId:
                      type: string
                    expression:
                      type: string
                  required:
                  - handleId
                  - expression
              temperature:
                type: number
              model:
                type: string
              aiVendor:
                type: string
                enum:
                - OPENAI
                - ANTHROPIC
                - GOOGLE
                - AZURE
                - DEEPSEEK
                - LLAMA
              instructions:
                type:
                - string
                - 'null'
              prompt:
                type:
                - string
                - 'null'
              customToolIds:
                type:
                - array
                - 'null'
                items:
                  type: number
              maxIterations:
                type: number
                minimum: 1
                maximum: 30
                default: 10
              agentType:
                type: string
                enum:
                - BASIC
                - ADVANCED
                default: BASIC
              captureVariables:
                type:
                - array
                - 'null'
                items: {}
              knowledgeBaseMode:
                type: string
                enum:
                - DEFAULT
                - CUSTOM
                - DISABLED
                default: DEFAULT
              knowledgeBaseIds:
                type:
                - array
                - 'null'
                items:
                  type: integer
                  exclusiveMinimum: 0
              selectedRecordTypes:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    recordTypeId:
                      type: number
                    read:
                      type: boolean
                    create:
                      type: boolean
                    update:
                      type: boolean
                    delete:
                      type: boolean
                    createActivity:
                      type: boolean
                  required:
                  - recordTypeId
              systemToolsConfig:
                type:
                - object
                - 'null'
                properties:
                  webSearchEnabled:
                    type: boolean
                    default: false
                  urlScrapeEnabled:
                    type: boolean
                    default: false
                  linkedinSearchEnabled:
                    type: boolean
                    default: false
              connectedAccountConfigs:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    connectedAccountId:
                      type: number
                    useAllTools:
                      type: boolean
                      default: true
                    selectedToolSlugs:
                      type:
                      - array
                      - 'null'
                      items:
                        type: string
                  required:
                  - connectedAccountId
              playbookIds:
                type:
                - array
                - 'null'
                items:
                  type: integer
                  exclusiveMinimum: 0
              aiModelId:
                type:
                - integer
                - 'null'
            required:
            - type
            - conditions
            - instructions
          - type: object
            properties:
              type:
                type: string
                enum:
                - API
              url:
                type: string
                example: https://api.example.com/hook
              method:
                type: string
                enum:
                - GET
                - POST
                - PUT
                - DELETE
                - PATCH
              headers:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  required:
                  - key
                  - value
              body:
                type:
                - string
                - 'null'
              response:
                type:
                - string
                - 'null'
              parameters:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  required:
                  - key
                  - value
              variables:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                    fullResponse:
                      type: boolean
                      default: false
                  required:
                  - key
                  - value
            required:
            - type
            - url
            - method
            - headers
          - type: object
            properties:
              type:
                type: string
                enum:
                - CONDITIONAL_ROUTING
              routingType:
                type: string
                enum:
                - CONDITIONAL_AI
                - DYNAMIC
              conditions:
                type: array
                items:
                  type: object
                  properties:
                    handleId:
                      type: string
                    expression:
                      type: string
                  required:
                  - handleId
                  - expression
              temperature:
                type: number
              model:
                type: string
              aiVendor:
                type: string
                enum:
                - OPENAI
                - ANTHROPIC
                - GOOGLE
                - AZURE
                - DEEPSEEK
                - LLAMA
              aiModelId:
                type:
                - integer
                - 'null'
            required:
            - type
            - routingType
            - conditions
          - type: object
            properties:
              type:
                type: string
                enum:
                - DYNAMIC_TABLES
              tableId:
                type:
                - number
                - 'null'
              recordTypeId:
                type:
                - number
                - 'null'
              targetRecordTypeId:
                type:
                - number
                - 'null'
                description: Destination record type id. Required when actionType is CHANGE_RECORD_TYPE.
                example: 12
              actionType:
                type:
                - string
                - 'null'
                enum:
                - CREATE
                - UPDATE
                - DELETE
                - SEARCH
                - SEARCH_BY_ID
                - CHANGE_RECORD_TYPE
                description: 'Operation to run. Required-field rules per action: CREATE → rowData; UPDATE → rowId + rowData; DELETE / SEARCH_BY_ID → rowId; CHANGE_RECORD_TYPE → rowId + targetRecordTypeId.'
                example: CREATE
              rowData:
                type:
                - object
                - 'null'
                additionalProperties: {}
              inputModeByField:
                type:
                - object
                - 'null'
                additionalProperties:
                  type: string
                  enum:
                  - INPUT
                  - VARIABLE
                  - EMPTY
              rowId:
                type:
                - string
                - 'null'
              search:
                type:
                - string
                - 'null'
              pageNum:
                anyOf:
                - type: number
                - type: string
                - {}
              pageSize:
                anyOf:
                - type: number
                - type: string
                - {}
              pageNumMode:
                type:
                - string
                - 'null'
                enum:
                - INPUT
                - VARIABLE
                - EMPTY
              pageSizeMode:
                type:
                - string
                - 'null'
                enum:
                - INPUT
                - VARIABLE
                - EMPTY
              sort:
                type:
                - array
                - 'null'
                items:
                  type: object
                  properties:
                    path:
                      type: string
                    type:
                      type: string
                      enum:
                      - asc
                      - desc
                  required:
                  - path
                  - type
              query:
                $ref: '#/components/schemas/DynamicTablesQuery'
            required:
            - type
          - {}
    PublicFlowEdgeDeleteInput:
      type: object
      properties:
        edge:
          type: object
          properties:
            source:
              type: string
              example: trigger_1
            sourceHandle:
              type: string
              example: default
            target:
              type: string
              example: api_1
            targetHandle:
              type: string
              example: default
          required:
          - source
          - sourceHandle
          - target
          - targetHandle
      required:
      - edge
    DynamicTablesQueryGroup:
      type: object
      properties:
        operator:
          type: string
          enum:
          - and
          - or
        conditions:
          type: array
          items: {}
          description: Nested filter conditions or AND/OR groups
      required:
      - operator
      - conditions
    Flow:
      type: object
      properties:
        id:
          type: number
          example: 101
        name:
          type: string
          example: Order Retrieval
        description:
          type:
          - string
          - 'null'
          example: Extracts order info from DB
        st

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