# Public API

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.

Version: 1.0.0
License: Proprietary

## Servers

```
https://prod-api.getfrontline.ai
```

## Security

### accountApiKey

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.

Type: http
Scheme: bearer
Bearer Format: Account API Key

### userApiKey

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.

Type: http
Scheme: bearer
Bearer Format: User API Key

## Download OpenAPI description

[Public API](https://docs.getfrontline.ai/_bundle/reference/openapi.yaml)

## Agents Builder

View and manage your AI agents across your account

### List all agents

 - [GET /public/v1/agents](https://docs.getfrontline.ai/reference/openapi/agents-builder/listagents.md): Returns a list of agents associated with the account.

### Create an agent

 - [POST /public/v1/agents](https://docs.getfrontline.ai/reference/openapi/agents-builder/createagent.md): Creates an assistant with the internal defaults for theme, channels, settings, flow, and billing checks. Requires a USER API key.

### Get agent details

 - [GET /public/v1/agents/{agentId}](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagent.md): Returns a safe agent detail without secret key or HMAC fields.

### Update an agent

 - [PUT /public/v1/agents/{agentId}](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagent.md): Updates basic agent metadata. Requires a USER API key.

### Delete an agent

 - [DELETE /public/v1/agents/{agentId}](https://docs.getfrontline.ai/reference/openapi/agents-builder/deleteagent.md): Soft deletes an agent using the assistant manager. Requires a USER API key.

### Get agent setting

 - [GET /public/v1/agents/{agentId}/agent-setting](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentsetting.md): Returns safe agent model, instruction, tool, playbook, and connected-account settings.

### Update agent setting

 - [PUT /public/v1/agents/{agentId}/agent-setting](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentsetting.md): Updates instructions, model, tools, playbooks, connected accounts, and system tool settings. Requires a USER API key.

### Get agent theme

 - [GET /public/v1/agents/{agentId}/theme](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagenttheme.md): Returns textual and color theme settings. Image uploads are not exposed in the public builder.

### Update agent theme

 - [PUT /public/v1/agents/{agentId}/theme](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagenttheme.md): Updates textual and color theme settings. Requires a USER API key.

### Update agent deployment status

 - [PUT /public/v1/agents/{agentId}/deployment-status](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentdeploymentstatus.md): Publishes or pauses an agent by changing isOffline. Requires a USER API key and runs billing checks.

### Get all agent channel settings

 - [GET /public/v1/agents/{agentId}/settings](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentchannelsettings.md): Returns livechat, WhatsApp, Instagram, and Messenger channel settings.

### Get livechat settings

 - [GET /public/v1/agents/{agentId}/settings/livechat](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentlivechatsettings.md): Returns livechat channel settings for an agent.

### Update livechat settings

 - [PUT /public/v1/agents/{agentId}/settings/livechat](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentlivechatsettings.md): Updates livechat channel settings. Requires a USER API key.

### Get whatsapp settings

 - [GET /public/v1/agents/{agentId}/settings/whatsapp](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentwhatsappsettings.md): Returns whatsapp channel settings for an agent.

### Update whatsapp settings

 - [PUT /public/v1/agents/{agentId}/settings/whatsapp](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentwhatsappsettings.md): Updates whatsapp channel settings. Requires a USER API key.

### Get instagram settings

 - [GET /public/v1/agents/{agentId}/settings/instagram](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentinstagramsettings.md): Returns instagram channel settings for an agent.

### Update instagram settings

 - [PUT /public/v1/agents/{agentId}/settings/instagram](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentinstagramsettings.md): Updates instagram channel settings. Requires a USER API key.

### Get messenger settings

 - [GET /public/v1/agents/{agentId}/settings/messenger](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentmessengersettings.md): Returns messenger channel settings for an agent.

### Update messenger settings

 - [PUT /public/v1/agents/{agentId}/settings/messenger](https://docs.getfrontline.ai/reference/openapi/agents-builder/updateagentmessengersettings.md): Updates messenger channel settings. Requires a USER API key.

### Get agent analytics

 - [GET /public/v1/agents/{agentId}/analytics](https://docs.getfrontline.ai/reference/openapi/agents-builder/getagentanalytics.md): Returns credit usage, conversation counts, and conversations breakdown by channel for a specific agent.

## Flows

View and manage flows associated with your agents

### List flows for an agent

 - [GET /public/v1/agents/{agentId}/flows](https://docs.getfrontline.ai/reference/openapi/flows/listagentflows.md): Returns a list of flows associated with a specific agent. Nodes and logic are excluded.

### Create a flow for an agent

 - [POST /public/v1/agents/{agentId}/flows](https://docs.getfrontline.ai/reference/openapi/flows/createagentflow.md): Creates a flow and an empty graph snapshot for a specific agent.

### Get flow details

 - [GET /public/v1/agents/{agentId}/flows/{flowId}](https://docs.getfrontline.ai/reference/openapi/flows/getagentflow.md): Returns flow metadata. Pass includeNodes=true to include graph nodes.

### Update a flow

 - [PUT /public/v1/agents/{agentId}/flows/{flowId}](https://docs.getfrontline.ai/reference/openapi/flows/updateagentflow.md): Updates flow metadata or status.

### Delete a flow

 - [DELETE /public/v1/agents/{agentId}/flows/{flowId}](https://docs.getfrontline.ai/reference/openapi/flows/deleteagentflow.md): Soft deletes a flow.

### Get flow graph

 - [GET /public/v1/agents/{agentId}/flows/{flowId}/graph](https://docs.getfrontline.ai/reference/openapi/flows/getagentflowgraph.md): Returns the flow snapshot with nodes and edges.

### Create flow node

 - [POST /public/v1/agents/{agentId}/flows/{flowId}/nodes](https://docs.getfrontline.ai/reference/openapi/flows/createagentflownode.md): Creates a node in a flow graph.

### Update flow node

 - [PUT /public/v1/agents/{agentId}/flows/{flowId}/nodes/{nodeId}](https://docs.getfrontline.ai/reference/openapi/flows/updateagentflownode.md): Updates a flow node and returns the updated graph.

### Delete flow node

 - [DELETE /public/v1/agents/{agentId}/flows/{flowId}/nodes/{nodeId}](https://docs.getfrontline.ai/reference/openapi/flows/deleteagentflownode.md): Deletes a node and removes incoming and outgoing edges.

### Create flow edge

 - [POST /public/v1/agents/{agentId}/flows/{flowId}/edges](https://docs.getfrontline.ai/reference/openapi/flows/createagentflowedge.md): Adds or replaces an edge by handle in the flow graph.

### Delete flow edge

 - [DELETE /public/v1/agents/{agentId}/flows/{flowId}/edges](https://docs.getfrontline.ai/reference/openapi/flows/deleteagentflowedge.md): Removes an edge from the flow graph.

## Flow Variables

Manage variables scoped to an agent's flow

### List agent variables

 - [GET /public/v1/agents/{agentId}/variables](https://docs.getfrontline.ai/reference/openapi/flow-variables/listagentvariables.md): Lists variables for an agent. Requires a USER API key.

### Create agent variable

 - [POST /public/v1/agents/{agentId}/variables](https://docs.getfrontline.ai/reference/openapi/flow-variables/createagentvariable.md): Creates a variable for an agent. Requires a USER API key.

### List all agent variables

 - [GET /public/v1/agents/{agentId}/variables/all](https://docs.getfrontline.ai/reference/openapi/flow-variables/listallagentvariables.md): Lists all agent variables including defaults. Requires a USER API key.

### Check agent variable name

 - [GET /public/v1/agents/{agentId}/variables/check-name](https://docs.getfrontline.ai/reference/openapi/flow-variables/checkagentvariablename.md): Checks whether a variable name exists for an agent. Requires a USER API key.

### Get agent variable

 - [GET /public/v1/agents/{agentId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/flow-variables/getagentvariable.md): Manages a single agent variable. Requires a USER API key.

### Update agent variable

 - [PUT /public/v1/agents/{agentId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/flow-variables/updateagentvariable.md): Manages a single agent variable. Requires a USER API key.

### Delete agent variable

 - [DELETE /public/v1/agents/{agentId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/flow-variables/deleteagentvariable.md): Manages a single agent variable. Requires a USER API key.

## Intents

Manage agent intents and training phrases

### List intents

 - [GET /public/v1/agents/{agentId}/intents](https://docs.getfrontline.ai/reference/openapi/intents/listintents.md): Lists agent intents. Requires a USER API key.

### Create intent

 - [POST /public/v1/agents/{agentId}/intents](https://docs.getfrontline.ai/reference/openapi/intents/createintent.md): Creates an agent intent. Requires a USER API key.

### List all intents

 - [GET /public/v1/agents/{agentId}/intents/all](https://docs.getfrontline.ai/reference/openapi/intents/listallintents.md): Lists all agent intents. Requires a USER API key.

### Generate intent phrases

 - [POST /public/v1/agents/{agentId}/intents/generate-phrases](https://docs.getfrontline.ai/reference/openapi/intents/generateintentphrases.md): Generates suggested phrases for an intent. Requires a USER API key.

### Get intent

 - [GET /public/v1/agents/{agentId}/intents/{intentId}](https://docs.getfrontline.ai/reference/openapi/intents/getintent.md): Manages a single intent. Requires a USER API key.

### Update intent

 - [PUT /public/v1/agents/{agentId}/intents/{intentId}](https://docs.getfrontline.ai/reference/openapi/intents/updateintent.md): Manages a single intent. Requires a USER API key.

### Delete intent

 - [DELETE /public/v1/agents/{agentId}/intents/{intentId}](https://docs.getfrontline.ai/reference/openapi/intents/deleteintent.md): Manages a single intent. Requires a USER API key.

## Agents

Agent runtime data: conversations and transcripts

### List agent conversations

 - [GET /public/v1/agents/{agentId}/conversations](https://docs.getfrontline.ai/reference/openapi/agents/listagentconversations.md): Lists conversations for an agent (basic fields). Requires a USER API key.

### Get a conversation transcript

 - [GET /public/v1/agents/{agentId}/conversations/{conversationId}](https://docs.getfrontline.ai/reference/openapi/agents/getagentconversation.md): Returns a conversation with its message transcript (basic fields). Requires a USER API key.

## Workflows

View and manage your workflows across your account

### List all workflows

 - [GET /public/v1/workflows](https://docs.getfrontline.ai/reference/openapi/workflows/listworkflows.md): Returns a list of workflows associated with the account. Nodes and logic are excluded.

### Create a workflow

 - [POST /public/v1/workflows](https://docs.getfrontline.ai/reference/openapi/workflows/createworkflow.md): Creates an automation workflow and an empty graph snapshot.

### Get workflow details

 - [GET /public/v1/workflows/{workflowId}](https://docs.getfrontline.ai/reference/openapi/workflows/getworkflow.md): Returns a workflow automation. Pass includeNodes=true to include graph nodes.

### Update workflow

 - [PUT /public/v1/workflows/{workflowId}](https://docs.getfrontline.ai/reference/openapi/workflows/updateworkflow.md): Updates workflow metadata or status.

### Delete workflow

 - [DELETE /public/v1/workflows/{workflowId}](https://docs.getfrontline.ai/reference/openapi/workflows/deleteworkflow.md): Soft deletes a workflow automation and cleans up trigger side effects.

### Get workflow graph

 - [GET /public/v1/workflows/{workflowId}/graph](https://docs.getfrontline.ai/reference/openapi/workflows/getworkflowgraph.md): Returns the workflow snapshot with nodes and edges.

### Create workflow node

 - [POST /public/v1/workflows/{workflowId}/nodes](https://docs.getfrontline.ai/reference/openapi/workflows/createworkflownode.md): Creates a node in an automation workflow graph.

### Update workflow node

 - [PUT /public/v1/workflows/{workflowId}/nodes/{nodeId}](https://docs.getfrontline.ai/reference/openapi/workflows/updateworkflownode.md): Updates a node and returns the updated workflow graph.

### Delete workflow node

 - [DELETE /public/v1/workflows/{workflowId}/nodes/{nodeId}](https://docs.getfrontline.ai/reference/openapi/workflows/deleteworkflownode.md): Deletes a node and removes all incoming and outgoing edges.

### Create workflow edge

 - [POST /public/v1/workflows/{workflowId}/edges](https://docs.getfrontline.ai/reference/openapi/workflows/createworkflowedge.md): Adds or replaces the outgoing edge for a node.

### Delete workflow edge

 - [DELETE /public/v1/workflows/{workflowId}/edges](https://docs.getfrontline.ai/reference/openapi/workflows/deleteworkflowedge.md): Removes an edge from the workflow graph.

### Get workflow analytics

 - [GET /public/v1/workflows/{workflowId}/analytics](https://docs.getfrontline.ai/reference/openapi/workflows/getworkflowanalytics.md): Returns analytics for a specific workflow, including runs by date and summary.

### List workflow run logs

 - [GET /public/v1/workflows/{workflowId}/logs](https://docs.getfrontline.ai/reference/openapi/workflows/listworkflowlogs.md): Lists the run history (executions) of a workflow. Requires a USER API key.

### Get a workflow run log

 - [GET /public/v1/workflows/{workflowId}/logs/{logId}](https://docs.getfrontline.ai/reference/openapi/workflows/getworkflowlog.md): Returns one run with its per-node results. Requires a USER API key.

## Workflow Variables

Manage variables scoped to an automation workflow

### List workflow variables

 - [GET /public/v1/workflows/{workflowId}/variables](https://docs.getfrontline.ai/reference/openapi/workflow-variables/listworkflowvariables.md): Lists variables for an automation workflow. Requires a USER API key.

### Create workflow variable

 - [POST /public/v1/workflows/{workflowId}/variables](https://docs.getfrontline.ai/reference/openapi/workflow-variables/createworkflowvariable.md): Creates a variable for an automation workflow. Requires a USER API key.

### List all workflow variables

 - [GET /public/v1/workflows/{workflowId}/variables/all](https://docs.getfrontline.ai/reference/openapi/workflow-variables/listallworkflowvariables.md): Lists all workflow variables including defaults. Requires a USER API key.

### Check workflow variable name

 - [GET /public/v1/workflows/{workflowId}/variables/check-name](https://docs.getfrontline.ai/reference/openapi/workflow-variables/checkworkflowvariablename.md): Checks whether a variable name exists for a workflow. Requires a USER API key.

### Get workflow variable

 - [GET /public/v1/workflows/{workflowId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/workflow-variables/getworkflowvariable.md): Manages a single workflow variable. Requires a USER API key.

### Update workflow variable

 - [PUT /public/v1/workflows/{workflowId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/workflow-variables/updateworkflowvariable.md): Manages a single workflow variable. Requires a USER API key.

### Delete workflow variable

 - [DELETE /public/v1/workflows/{workflowId}/variables/{variableId}](https://docs.getfrontline.ai/reference/openapi/workflow-variables/deleteworkflowvariable.md): Manages a single workflow variable. Requires a USER API key.

## Objects

Manage CRM objects (standard and custom)

### List objects

 - [GET /public/v1/objects](https://docs.getfrontline.ai/reference/openapi/objects/listobjects.md): Returns every object (standard + custom) for the authenticated account.

### Create object

 - [POST /public/v1/objects](https://docs.getfrontline.ai/reference/openapi/objects/createobject.md): Creates a custom object. At least one column is required. Requires a USER API key.

### Get object

 - [GET /public/v1/objects/{name}](https://docs.getfrontline.ai/reference/openapi/objects/getobject.md): Returns one object including fields, views, and record types.

### Update object

 - [PATCH /public/v1/objects/{name}](https://docs.getfrontline.ai/reference/openapi/objects/updateobject.md): Updates an object's display name, emoji, color, or description. Requires a USER API key.

### Delete object

 - [DELETE /public/v1/objects/{name}](https://docs.getfrontline.ai/reference/openapi/objects/deleteobject.md): Deletes a custom object. System objects cannot be deleted. Requires a USER API key.

### Get object schema

 - [GET /public/v1/objects/{name}/schema](https://docs.getfrontline.ai/reference/openapi/objects/getobjectschema.md): Returns only the schema (fields, types, formats) for an object.

## Object fields

Manage columns on an object

### List object fields

 - [GET /public/v1/objects/{name}/fields](https://docs.getfrontline.ai/reference/openapi/object-fields/listobjectfields.md): Returns the columns defined on an object.

### Create object field

 - [POST /public/v1/objects/{name}/fields](https://docs.getfrontline.ai/reference/openapi/object-fields/createobjectfield.md): Creates a column on an object. Requires a USER API key.

### Update object field

 - [PATCH /public/v1/objects/{name}/fields/{fieldId}](https://docs.getfrontline.ai/reference/openapi/object-fields/updateobjectfield.md): Updates a field's metadata, defaults, or ordering. Requires a USER API key.

### Delete object field

 - [DELETE /public/v1/objects/{name}/fields/{fieldId}](https://docs.getfrontline.ai/reference/openapi/object-fields/deleteobjectfield.md): Deletes a column from an object. Requires a USER API key.

## Object options

Manage tag/select options on object fields

### List field options

 - [GET /public/v1/objects/{name}/fields/{fieldId}/options](https://docs.getfrontline.ai/reference/openapi/object-options/listobjectfieldoptions.md): Returns the options (tags) defined on a select/tags field.

### Create field option

 - [POST /public/v1/objects/{name}/fields/{fieldId}/options](https://docs.getfrontline.ai/reference/openapi/object-options/createobjectfieldoption.md): Adds an option (tag) to a select/tags field. Requires a USER API key.

### Update field option

 - [PATCH /public/v1/objects/{name}/options/{tagId}](https://docs.getfrontline.ai/reference/openapi/object-options/updateobjectfieldoption.md): Updates an option's name, color, or order. Requires a USER API key.

### Delete field option

 - [DELETE /public/v1/objects/{name}/options/{tagId}](https://docs.getfrontline.ai/reference/openapi/object-options/deleteobjectfieldoption.md): Deletes an option from a select/tags field. Requires a USER API key.

## Object record types

Categorize records inside an object

### List record types

 - [GET /public/v1/objects/{name}/record-types](https://docs.getfrontline.ai/reference/openapi/object-record-types/listobjectrecordtypes.md): Returns the record types defined on an object.

### Create record type

 - [POST /public/v1/objects/{name}/record-types](https://docs.getfrontline.ai/reference/openapi/object-record-types/createobjectrecordtype.md): Creates a record type on an object. Requires a USER API key.

### Update record type

 - [PATCH /public/v1/objects/{name}/record-types/{recordTypeId}](https://docs.getfrontline.ai/reference/openapi/object-record-types/updateobjectrecordtype.md): Updates a record type. The default record type's name and display name cannot be changed (promote another record type to default first). Requires a USER API key.

### Delete record type

 - [DELETE /public/v1/objects/{name}/record-types/{recordTypeId}](https://docs.getfrontline.ai/reference/openapi/object-record-types/deleteobjectrecordtype.md): Deletes a record type. The default record type cannot be deleted. Requires a USER API key.

## Object views

Saved view configurations on an object

### List views

 - [GET /public/v1/objects/{name}/views](https://docs.getfrontline.ai/reference/openapi/object-views/listobjectviews.md): Returns the saved views configured on an object.

### Create view

 - [POST /public/v1/objects/{name}/views](https://docs.getfrontline.ai/reference/openapi/object-views/createobjectview.md): Creates a saved view on an object. Requires a USER API key.

### Create record-type-scoped view

 - [POST /public/v1/objects/record-types/{recordTypeId}/views](https://docs.getfrontline.ai/reference/openapi/object-views/createobjectrecordtypeview.md): Creates a saved view scoped to a record type. Requires a USER API key.

### Update view

 - [PATCH /public/v1/objects/{name}/views/{viewId}](https://docs.getfrontline.ai/reference/openapi/object-views/updateobjectview.md): Updates a saved view. Requires a USER API key.

### Delete view

 - [DELETE /public/v1/objects/{name}/views/{viewId}](https://docs.getfrontline.ai/reference/openapi/object-views/deleteobjectview.md): Deletes a saved view. Requires a USER API key.

### Update record-type-scoped view

 - [PATCH /public/v1/objects/record-types/{recordTypeId}/views/{viewId}](https://docs.getfrontline.ai/reference/openapi/object-views/updateobjectrecordtypeview.md): Updates a saved view that is scoped to a record type. Requires a USER API key.

### Delete record-type-scoped view

 - [DELETE /public/v1/objects/record-types/{recordTypeId}/views/{viewId}](https://docs.getfrontline.ai/reference/openapi/object-views/deleteobjectrecordtypeview.md): Deletes a record-type-scoped view. Requires a USER API key.

## Object relations

Link and unlink records across objects

### List related rows

 - [GET /public/v1/objects/{name}/rows/{id}/relations/{relation}](https://docs.getfrontline.ai/reference/openapi/object-relations/listobjectrelations.md): Returns rows linked to this row via the given relation field.

### Find rows by relation target

 - [GET /public/v1/objects/{name}/relations/{relation}/target/{targetId}](https://docs.getfrontline.ai/reference/openapi/object-relations/findobjectbyrelation.md): Returns rows on the source object linked to the target id via the relation.

### Link relation

 - [POST /public/v1/objects/{name}/rows/{id}/relations/{relation}/link](https://docs.getfrontline.ai/reference/openapi/object-relations/linkobjectrelation.md): Links the target row to this row via the relation. Requires a USER API key.

### Unlink relation

 - [POST /public/v1/objects/{name}/rows/{id}/relations/{relation}/unlink](https://docs.getfrontline.ai/reference/openapi/object-relations/unlinkobjectrelation.md): Unlinks the target row from this row's relation. Requires a USER API key.

## Object rows

Read and write object records

### List rows

 - [POST /public/v1/objects/{name}/rows/list](https://docs.getfrontline.ai/reference/openapi/object-rows/listobjectrows.md): Returns a paginated, filterable list of rows.

### Create row

 - [POST /public/v1/objects/{name}/rows](https://docs.getfrontline.ai/reference/openapi/object-rows/createobjectrow.md): Creates a single row. Requires a USER API key.

### Bulk-create rows

 - [POST /public/v1/objects/{name}/rows/bulk](https://docs.getfrontline.ai/reference/openapi/object-rows/createobjectrowsbulk.md): Creates multiple rows in a single call. Requires a USER API key.

### Get row

 - [GET /public/v1/objects/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/object-rows/getobjectrow.md): Returns a single row by id.

### Update row

 - [PATCH /public/v1/objects/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/object-rows/updateobjectrow.md): Updates a row's fields. Pass field values flat in the body or nested under data. Requires a USER API key.

### Delete row

 - [DELETE /public/v1/objects/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/object-rows/deleteobjectrow.md): Deletes a row. Requires a USER API key.

### Count rows

 - [POST /public/v1/objects/{name}/rows/count](https://docs.getfrontline.ai/reference/openapi/object-rows/countobjectrows.md): Returns the number of rows matching the optional query and record type filter.

## Object aggregations

Per-view aggregations on objects

### List aggregations

 - [GET /public/v1/objects/{name}/views/{viewId}/aggregations](https://docs.getfrontline.ai/reference/openapi/object-aggregations/listobjectaggregations.md): Returns aggregations configured for a view.

### Create aggregation

 - [POST /public/v1/objects/{name}/views/{viewId}/aggregations](https://docs.getfrontline.ai/reference/openapi/object-aggregations/createobjectaggregation.md): Creates an aggregation on a column for the given view. Requires a USER API key.

### Update aggregation

 - [PATCH /public/v1/objects/{name}/views/{viewId}/aggregations/{aggId}](https://docs.getfrontline.ai/reference/openapi/object-aggregations/updateobjectaggregation.md): Changes the operation of an aggregation. Requires a USER API key.

### Delete aggregation

 - [DELETE /public/v1/objects/{name}/views/{viewId}/aggregations/{aggId}](https://docs.getfrontline.ai/reference/openapi/object-aggregations/deleteobjectaggregation.md): Removes an aggregation from a view. Requires a USER API key.

### Compute aggregations

 - [POST /public/v1/objects/{name}/views/{viewId}/aggregations/compute](https://docs.getfrontline.ai/reference/openapi/object-aggregations/computeobjectaggregations.md): Computes the configured aggregations for the rows matching the query.

## Object activities

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

### List activities

 - [GET /public/v1/objects/{name}/rows/{rowId}/activities](https://docs.getfrontline.ai/reference/openapi/object-activities/listobjectactivities.md): Returns manually-created activities attached to a row. Activities log interactions like notes, calls, meetings, and emails.

### Create activity

 - [POST /public/v1/objects/{name}/rows/{rowId}/activities](https://docs.getfrontline.ai/reference/openapi/object-activities/createobjectactivity.md): Attaches a manual activity to a row. Use type to categorize it (NOTE, PHONE_CALL, MEETING, EMAIL, WHATSAPP). Requires a USER API key.

### Get activity

 - [GET /public/v1/objects/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/object-activities/getobjectactivity.md): Returns an activity by id.

### Update activity

 - [PATCH /public/v1/objects/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/object-activities/updateobjectactivity.md): Updates an activity. Requires a USER API key.

### Delete activity

 - [DELETE /public/v1/objects/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/object-activities/deleteobjectactivity.md): Deletes a manually-created activity. Only the owner or an account admin can delete. Auto-generated activities (email sync, conversation audit, etc.) cannot be deleted. Requires a USER API key.

## Object tasks

Tasks attached to object rows

### List tasks

 - [GET /public/v1/objects/{name}/rows/{rowId}/tasks](https://docs.getfrontline.ai/reference/openapi/object-tasks/listobjecttasks.md): Returns tasks attached to a row.

### Create task

 - [POST /public/v1/objects/{name}/rows/{rowId}/tasks](https://docs.getfrontline.ai/reference/openapi/object-tasks/createobjecttask.md): Attaches a task to a row. Requires a USER API key.

### Get task

 - [GET /public/v1/objects/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/object-tasks/getobjecttask.md): Returns a task by id.

### Update task

 - [PATCH /public/v1/objects/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/object-tasks/updateobjecttask.md): Updates a task's content, due date, or assignees. Requires a USER API key.

### Delete task

 - [DELETE /public/v1/objects/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/object-tasks/deleteobjecttask.md): Deletes a task. Requires a USER API key.

### Complete task

 - [POST /public/v1/objects/{name}/tasks/{id}/complete](https://docs.getfrontline.ai/reference/openapi/object-tasks/completeobjecttask.md): Marks a task as completed. Requires a USER API key.

### Uncomplete task

 - [POST /public/v1/objects/{name}/tasks/{id}/uncomplete](https://docs.getfrontline.ai/reference/openapi/object-tasks/uncompleteobjecttask.md): Marks a previously completed task as open again. Requires a USER API key.

## Object files

Files attached to object rows

### List files

 - [GET /public/v1/objects/{name}/rows/{rowId}/files](https://docs.getfrontline.ai/reference/openapi/object-files/listobjectfiles.md): Returns the files attached to a row.

### Upload files

 - [POST /public/v1/objects/{name}/rows/{rowId}/files](https://docs.getfrontline.ai/reference/openapi/object-files/uploadobjectfiles.md): Uploads one or more files to a row as multipart/form-data under the files field. Requires a USER API key.

### Get file

 - [GET /public/v1/objects/{name}/files/{id}](https://docs.getfrontline.ai/reference/openapi/object-files/getobjectfile.md): Returns file metadata.

### Delete file

 - [DELETE /public/v1/objects/{name}/files/{id}](https://docs.getfrontline.ai/reference/openapi/object-files/deleteobjectfile.md): Deletes a file from a row. Requires a USER API key.

### Download file

 - [GET /public/v1/objects/{name}/files/{id}/download](https://docs.getfrontline.ai/reference/openapi/object-files/downloadobjectfile.md): Streams the file content. Returns the file binary; not a JSON envelope.

## Object export

Export object data as XLSX or CSV

### Export as XLSX

 - [POST /public/v1/objects/{name}/export/xlsx](https://docs.getfrontline.ai/reference/openapi/object-export/exportobjectxlsx.md): Exports rows matching the query as an XLSX file.

### Export as CSV

 - [POST /public/v1/objects/{name}/export/csv](https://docs.getfrontline.ai/reference/openapi/object-export/exportobjectcsv.md): Exports rows matching the query as CSV.

## Tables

Manage spreadsheet-style tables

### List tables

 - [GET /public/v1/tables](https://docs.getfrontline.ai/reference/openapi/tables/listtables.md): Returns every table for the authenticated account.

### Create table

 - [POST /public/v1/tables](https://docs.getfrontline.ai/reference/openapi/tables/createtable.md): Creates a table. Columns can be supplied at creation or added later. Requires a USER API key.

### Get table

 - [GET /public/v1/tables/{name}](https://docs.getfrontline.ai/reference/openapi/tables/gettable.md): Returns one table including fields and views.

### Update table

 - [PATCH /public/v1/tables/{name}](https://docs.getfrontline.ai/reference/openapi/tables/updatetable.md): Updates display name, emoji, color, or description. Requires a USER API key.

### Delete table

 - [DELETE /public/v1/tables/{name}](https://docs.getfrontline.ai/reference/openapi/tables/deletetable.md): Deletes a table. Requires a USER API key.

### Get table schema

 - [GET /public/v1/tables/{name}/schema](https://docs.getfrontline.ai/reference/openapi/tables/gettableschema.md): Returns only the schema (fields, types, formats) for a table.

## Table fields

Manage columns on a table

### List table fields

 - [GET /public/v1/tables/{name}/fields](https://docs.getfrontline.ai/reference/openapi/table-fields/listtablefields.md): Returns the columns defined on a table.

### Create table field

 - [POST /public/v1/tables/{name}/fields](https://docs.getfrontline.ai/reference/openapi/table-fields/createtablefield.md): Creates a column on a table. Requires a USER API key.

### Update table field

 - [PATCH /public/v1/tables/{name}/fields/{fieldId}](https://docs.getfrontline.ai/reference/openapi/table-fields/updatetablefield.md): Updates a field's metadata, defaults, or ordering. Requires a USER API key.

### Delete table field

 - [DELETE /public/v1/tables/{name}/fields/{fieldId}](https://docs.getfrontline.ai/reference/openapi/table-fields/deletetablefield.md): Deletes a column from a table. Requires a USER API key.

## Table options

Manage tag/select options on table fields

### List field options

 - [GET /public/v1/tables/{name}/fields/{fieldId}/tags](https://docs.getfrontline.ai/reference/openapi/table-options/listtablefieldoptions.md): Returns the options (tags) defined on a select/tags field.

### Create field option

 - [POST /public/v1/tables/{name}/fields/{fieldId}/tags](https://docs.getfrontline.ai/reference/openapi/table-options/createtablefieldoption.md): Adds an option (tag) to a select/tags field. Requires a USER API key.

### Update field option

 - [PATCH /public/v1/tables/{name}/tags/{tagId}](https://docs.getfrontline.ai/reference/openapi/table-options/updatetablefieldoption.md): Updates an option's name, color, or order. Requires a USER API key.

### Delete field option

 - [DELETE /public/v1/tables/{name}/tags/{tagId}](https://docs.getfrontline.ai/reference/openapi/table-options/deletetablefieldoption.md): Deletes an option from a select/tags field. Requires a USER API key.

## Table rows

Read and write table rows

### List rows

 - [POST /public/v1/tables/{name}/rows/list](https://docs.getfrontline.ai/reference/openapi/table-rows/listtablerows.md): Returns a paginated, filterable list of rows.

### Create row

 - [POST /public/v1/tables/{name}/rows](https://docs.getfrontline.ai/reference/openapi/table-rows/createtablerow.md): Creates a single row. Requires a USER API key.

### Bulk-create rows

 - [POST /public/v1/tables/{name}/rows/bulk](https://docs.getfrontline.ai/reference/openapi/table-rows/createtablerowsbulk.md): Creates multiple rows in a single call. Requires a USER API key.

### Get row

 - [GET /public/v1/tables/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/table-rows/gettablerow.md): Returns a single row by id.

### Update row

 - [PATCH /public/v1/tables/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/table-rows/updatetablerow.md): Updates a row's fields. Pass field values flat in the body or nested under data. Requires a USER API key.

### Delete row

 - [DELETE /public/v1/tables/{name}/rows/{id}](https://docs.getfrontline.ai/reference/openapi/table-rows/deletetablerow.md): Deletes a row. Requires a USER API key.

### Count rows

 - [POST /public/v1/tables/{name}/rows/count](https://docs.getfrontline.ai/reference/openapi/table-rows/counttablerows.md): Returns the number of rows matching the optional query.

## Table aggregations

Per-view aggregations on tables

### List aggregations

 - [GET /public/v1/tables/{name}/views/{viewId}/aggregations](https://docs.getfrontline.ai/reference/openapi/table-aggregations/listtableaggregations.md): Returns aggregations configured for a view.

### Create aggregation

 - [POST /public/v1/tables/{name}/views/{viewId}/aggregations](https://docs.getfrontline.ai/reference/openapi/table-aggregations/createtableaggregation.md): Creates an aggregation on a column for the given view. Requires a USER API key.

### Update aggregation

 - [PATCH /public/v1/tables/{name}/views/{viewId}/aggregations/{aggId}](https://docs.getfrontline.ai/reference/openapi/table-aggregations/updatetableaggregation.md): Changes the operation of an aggregation. Requires a USER API key.

### Delete aggregation

 - [DELETE /public/v1/tables/{name}/views/{viewId}/aggregations/{aggId}](https://docs.getfrontline.ai/reference/openapi/table-aggregations/deletetableaggregation.md): Removes an aggregation from a view. Requires a USER API key.

### Compute aggregations

 - [POST /public/v1/tables/{name}/views/{viewId}/aggregations/compute](https://docs.getfrontline.ai/reference/openapi/table-aggregations/computetableaggregations.md): Computes the configured aggregations for the rows matching the query.

## Table activities

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

### List activities

 - [GET /public/v1/tables/{name}/rows/{rowId}/activities](https://docs.getfrontline.ai/reference/openapi/table-activities/listtableactivities.md): Returns manually-created activities attached to a row. Activities log interactions like notes, calls, meetings, and emails.

### Create activity

 - [POST /public/v1/tables/{name}/rows/{rowId}/activities](https://docs.getfrontline.ai/reference/openapi/table-activities/createtableactivity.md): Attaches a manual activity to a row. Use type to categorize it (NOTE, PHONE_CALL, MEETING, EMAIL, WHATSAPP). Requires a USER API key.

### Get activity

 - [GET /public/v1/tables/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/table-activities/gettableactivity.md): Returns an activity by id.

### Update activity

 - [PATCH /public/v1/tables/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/table-activities/updatetableactivity.md): Updates an activity. Requires a USER API key.

### Delete activity

 - [DELETE /public/v1/tables/{name}/activities/{id}](https://docs.getfrontline.ai/reference/openapi/table-activities/deletetableactivity.md): 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.

## Table tasks

Tasks attached to table rows

### List tasks

 - [GET /public/v1/tables/{name}/rows/{rowId}/tasks](https://docs.getfrontline.ai/reference/openapi/table-tasks/listtabletasks.md): Returns tasks attached to a row.

### Create task

 - [POST /public/v1/tables/{name}/rows/{rowId}/tasks](https://docs.getfrontline.ai/reference/openapi/table-tasks/createtabletask.md): Attaches a task to a row. Requires a USER API key.

### Get task

 - [GET /public/v1/tables/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/table-tasks/gettabletask.md): Returns a task by id.

### Update task

 - [PATCH /public/v1/tables/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/table-tasks/updatetabletask.md): Updates a task's content, due date, or assignees. Requires a USER API key.

### Delete task

 - [DELETE /public/v1/tables/{name}/tasks/{id}](https://docs.getfrontline.ai/reference/openapi/table-tasks/deletetabletask.md): Deletes a task. Requires a USER API key.

### Complete task

 - [POST /public/v1/tables/{name}/tasks/{id}/complete](https://docs.getfrontline.ai/reference/openapi/table-tasks/completetabletask.md): Marks a task as completed. Requires a USER API key.

### Uncomplete task

 - [POST /public/v1/tables/{name}/tasks/{id}/uncomplete](https://docs.getfrontline.ai/reference/openapi/table-tasks/uncompletetabletask.md): Marks a previously completed task as open again. Requires a USER API key.

## Table files

Files attached to table rows

### List files

 - [GET /public/v1/tables/{name}/rows/{rowId}/files](https://docs.getfrontline.ai/reference/openapi/table-files/listtablefiles.md): Returns the files attached to a row.

### Upload files

 - [POST /public/v1/tables/{name}/rows/{rowId}/files](https://docs.getfrontline.ai/reference/openapi/table-files/uploadtablefiles.md): Uploads one or more files to a row as multipart/form-data under the files field. Requires a USER API key.

### Get file

 - [GET /public/v1/tables/{name}/files/{id}](https://docs.getfrontline.ai/reference/openapi/table-files/gettablefile.md): Returns file metadata.

### Delete file

 - [DELETE /public/v1/tables/{name}/files/{id}](https://docs.getfrontline.ai/reference/openapi/table-files/deletetablefile.md): Deletes a file from a row. Requires a USER API key.

### Download file

 - [GET /public/v1/tables/{name}/files/{id}/download](https://docs.getfrontline.ai/reference/openapi/table-files/downloadtablefile.md): Streams the file content. Returns the file binary; not a JSON envelope.

## Table export

Export table data as XLSX or CSV

### Export as XLSX

 - [POST /public/v1/tables/{name}/export/xlsx](https://docs.getfrontline.ai/reference/openapi/table-export/exporttablexlsx.md): Exports rows matching the query as an XLSX file.

### Export as CSV

 - [POST /public/v1/tables/{name}/export/csv](https://docs.getfrontline.ai/reference/openapi/table-export/exporttablecsv.md): Exports rows matching the query as CSV.

## Tools

Manage reusable HTTP integrations callable from flows and workflows

### List tools

 - [GET /public/v1/tools](https://docs.getfrontline.ai/reference/openapi/tools/listtools.md): Returns API call tools associated with the account. WhatsApp template tools are not exposed in this public surface.

### Create a tool

 - [POST /public/v1/tools](https://docs.getfrontline.ai/reference/openapi/tools/createtool.md): Creates an API call tool. Requires a USER API key. WhatsApp template tools are not supported in the public API.

### Get tool details

 - [GET /public/v1/tools/{toolId}](https://docs.getfrontline.ai/reference/openapi/tools/gettool.md): Returns an API call tool by ID.

### Update a tool

 - [PUT /public/v1/tools/{toolId}](https://docs.getfrontline.ai/reference/openapi/tools/updatetool.md): Updates an API call tool. Requires a USER API key. The tool type cannot be changed.

### Delete a tool

 - [DELETE /public/v1/tools/{toolId}](https://docs.getfrontline.ai/reference/openapi/tools/deletetool.md): Soft deletes an API call tool. Requires a USER API key.

## Incoming Webhooks

Inbound HTTPS endpoints that external systems can post events to

### Create an incoming webhook

 - [POST /public/v1/incoming-webhooks](https://docs.getfrontline.ai/reference/openapi/incoming-webhooks/createincomingwebhook.md): Creates an incoming webhook for the authenticated account. Requires a USER API key and returns the access token needed to call the webhook.

## Account

Inspect the identity attached to the current API key

### Get current identity

 - [GET /public/v1/me](https://docs.getfrontline.ai/reference/openapi/account/getme.md): Returns the account and (for USER keys) user attached to the API key. Use this to validate a key and inspect the calling identity.

## AI Models

Discover available AI models for agent configuration

### List AI models

 - [GET /public/v1/ai-models](https://docs.getfrontline.ai/reference/openapi/ai-models/listaimodels.md): Returns available AI models. Use these IDs when configuring an agent setting.

### Get default AI model

 - [GET /public/v1/ai-models/default](https://docs.getfrontline.ai/reference/openapi/ai-models/getdefaultaimodel.md): Returns the default AI model for the requested model type.

### Get AI model

 - [GET /public/v1/ai-models/{aiModelId}](https://docs.getfrontline.ai/reference/openapi/ai-models/getaimodel.md): Returns one AI model by ID.

## Billing

View billing plan details, credits, and renewal information

### Get billing plan details

 - [GET /public/v1/billing](https://docs.getfrontline.ai/reference/openapi/billing/getbillingplan.md): Returns billing plan information including plan name, credits per month, credits used, and subscription renewal date.

