Frontline Object views API
Saved view configurations on an object
Saved view configurations on an object
openapi: 3.0.0
info:
title: Public Account Object views 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 views
description: Saved view configurations on an object
paths:
/public/v1/objects/{name}/views:
get:
summary: List views
operationId: listObjectViews
description: Returns the saved views configured on an object.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
responses:
'200':
description: Views list
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
name:
type: string
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
is_default:
type: boolean
example: false
is_private:
type: boolean
example: false
record_type_id:
type: number
nullable: true
example: 1
created_at:
type: string
nullable: true
example: example
updated_at:
type: string
nullable: true
example: example
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
grouping_field_id:
type: number
example: 1
column_ordering:
nullable: true
type: object
title_field_id:
type: number
example: 1
display_field_ids:
type: array
items:
type: number
example: 1
required:
- id
- name
- type
- is_default
- is_private
- record_type_id
- 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 view
operationId: createObjectView
description: Creates a saved view on an object. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
metadata:
type: object
properties:
grouping_field_id:
type: number
example: 1
groupingColumnId:
type: number
example: 1
column_order:
type: array
items:
type: string
example: example
columnOrder:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
hiddenColumns:
type: array
items:
type: string
example: example
dialog_field_order:
type: array
items:
type: string
example: example
dialogFieldOrder:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
stickyColumns:
type: array
items:
type: string
example: example
kanban_lane_size:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
kanbanLaneSize:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
additionalProperties:
nullable: true
type: object
required:
- name
- type
responses:
'201':
description: Created view
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
enum:
- true
example: true
data:
type: object
properties:
id:
type: number
example: 1
name:
type: string
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
is_default:
type: boolean
example: false
is_private:
type: boolean
example: false
record_type_id:
type: number
nullable: true
example: 1
created_at:
type: string
nullable: true
example: example
updated_at:
type: string
nullable: true
example: example
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
grouping_field_id:
type: number
example: 1
column_ordering:
nullable: true
type: object
title_field_id:
type: number
example: 1
display_field_ids:
type: array
items:
type: number
example: 1
required:
- id
- name
- type
- is_default
- is_private
- record_type_id
- 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/record-types/{recordTypeId}/views:
post:
summary: Create record-type-scoped view
operationId: createObjectRecordTypeView
description: Creates a saved view scoped to a record type. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 3
required: true
name: recordTypeId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
metadata:
type: object
properties:
grouping_field_id:
type: number
example: 1
groupingColumnId:
type: number
example: 1
column_order:
type: array
items:
type: string
example: example
columnOrder:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
hiddenColumns:
type: array
items:
type: string
example: example
dialog_field_order:
type: array
items:
type: string
example: example
dialogFieldOrder:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
stickyColumns:
type: array
items:
type: string
example: example
kanban_lane_size:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
kanbanLaneSize:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
additionalProperties:
nullable: true
type: object
required:
- name
- type
responses:
'201':
description: Created view
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
enum:
- true
example: true
data:
type: object
properties:
id:
type: number
example: 1
name:
type: string
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
is_default:
type: boolean
example: false
is_private:
type: boolean
example: false
record_type_id:
type: number
nullable: true
example: 1
created_at:
type: string
nullable: true
example: example
updated_at:
type: string
nullable: true
example: example
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
grouping_field_id:
type: number
example: 1
column_ordering:
nullable: true
type: object
title_field_id:
type: number
example: 1
display_field_ids:
type: array
items:
type: number
example: 1
required:
- id
- name
- type
- is_default
- is_private
- record_type_id
- 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}/views/{viewId}:
patch:
summary: Update view
operationId: updateObjectView
description: Updates a saved view. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 11
required: true
name: viewId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
example: example
metadata:
type: object
properties:
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
dialog_field_order:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
kanban_lane_size:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
column_ordering:
type: array
items:
anyOf:
- type: string
example: example
- type: number
example: 1
responses:
'200':
description: Updated view
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
enum:
- true
example: true
data:
type: object
properties:
id:
type: number
example: 1
name:
type: string
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
is_default:
type: boolean
example: false
is_private:
type: boolean
example: false
record_type_id:
type: number
nullable: true
example: 1
created_at:
type: string
nullable: true
example: example
updated_at:
type: string
nullable: true
example: example
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
grouping_field_id:
type: number
example: 1
column_ordering:
nullable: true
type: object
title_field_id:
type: number
example: 1
display_field_ids:
type: array
items:
type: number
example: 1
required:
- id
- name
- type
- is_default
- is_private
- record_type_id
- 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 view
operationId: deleteObjectView
description: Deletes a saved view. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: string
minLength: 1
example: deals
required: true
name: name
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 11
required: true
name: viewId
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/record-types/{recordTypeId}/views/{viewId}:
patch:
summary: Update record-type-scoped view
operationId: updateObjectRecordTypeView
description: Updates a saved view that is scoped to a record type. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 3
required: true
name: recordTypeId
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 11
required: true
name: viewId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
example: example
metadata:
type: object
properties:
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
dialog_field_order:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
kanban_lane_size:
type: string
enum:
- THIN
- MEDIUM
- WIDE
example: THIN
column_ordering:
type: array
items:
anyOf:
- type: string
example: example
- type: number
example: 1
responses:
'200':
description: Updated view
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
enum:
- true
example: true
data:
type: object
properties:
id:
type: number
example: 1
name:
type: string
example: example
type:
type: string
enum:
- TABLE
- KANBAN
- RECORD
example: TABLE
is_default:
type: boolean
example: false
is_private:
type: boolean
example: false
record_type_id:
type: number
nullable: true
example: 1
created_at:
type: string
nullable: true
example: example
updated_at:
type: string
nullable: true
example: example
column_order:
type: array
items:
type: string
example: example
hidden_columns:
type: array
items:
type: string
example: example
sticky_columns:
type: array
items:
type: string
example: example
grouping_field_id:
type: number
example: 1
column_ordering:
nullable: true
type: object
title_field_id:
type: number
example: 1
display_field_ids:
type: array
items:
type: number
example: 1
required:
- id
- name
- type
- is_default
- is_private
- record_type_id
- 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 record-type-scoped view
operationId: deleteObjectRecordTypeView
description: Deletes a record-type-scoped view. Requires a USER API key.
security:
- bearerAuth: []
tags:
- Object views
parameters:
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 3
required: true
name: recordTypeId
in: path
- schema:
type: integer
minimum: 0
exclusiveMinimum: true
example: 11
required: true
name: viewId
in: path
responses:
'200':
description: Deleted
content:
application/json:
schema:
type: object
properties:
ok:
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/frontline/refs/heads/main/openapi/frontline-object-views-api-openapi.yml