OpenAPI Specification
openapi: 3.0.0
info:
title: Public Account Object tasks 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: Object tasks
description: Tasks attached to object rows
paths:
/public/v1/objects/{name}/rows/{rowId}/tasks:
get:
summary: List tasks
operationId: listObjectTasks
description: Returns tasks attached to a row.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: string
example: 65cf9b3a4b7c2a0012a3b4c5
required: true
name: rowId
in: path
responses:
'200':
description: Tasks
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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 task
operationId: createObjectTask
description: Attaches a task to a row. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
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
dueDate:
type: string
nullable: true
example: example
assigneeIds:
type: array
items:
type: number
example: 1
required:
- content
responses:
'201':
description: Created task
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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/objects/{name}/tasks/{id}:
get:
summary: Get task
operationId: getObjectTask
description: Returns a task by id.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 100
required: true
name: id
in: path
responses:
'200':
description: Task
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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 task
operationId: updateObjectTask
description: Updates a task's content, due date, or assignees. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
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
dueDate:
type: string
nullable: true
example: example
assigneeIds:
type: array
items:
type: number
example: 1
responses:
'200':
description: Updated task
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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 task
operationId: deleteObjectTask
description: Deletes a task. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
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'
/public/v1/objects/{name}/tasks/{id}/complete:
post:
summary: Complete task
operationId: completeObjectTask
description: Marks a task as completed. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 100
required: true
name: id
in: path
responses:
'200':
description: Completed task
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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/objects/{name}/tasks/{id}/uncomplete:
post:
summary: Uncomplete task
operationId: uncompleteObjectTask
description: Marks a previously completed task as open again. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object tasks
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 100
required: true
name: id
in: path
responses:
'200':
description: Uncompleted task
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
content:
type: string
example: example
due_date:
type: string
nullable: true
example: example
assignee_ids:
type: array
items:
type: number
example: 1
completed:
type: boolean
example: false
completed_at:
type: string
nullable: true
example: example
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
- content
- completed
- 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'
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