Campfire Company Objects API
The Company Objects API from Campfire — 21 operation(s) for company objects.
The Company Objects API from Campfire — 21 operation(s) for company objects.
openapi: 3.0.3
info:
title: Campfire Developer APIs Accounts Payable Company Objects API
version: 1.0.0
description: '## Introduction
Campfire''s developer APIs offer granular access to Campfire''s core accounting,
revenue recognition, and financial data features.
These APIs are designed to be used by developers to build custom integrations,
automate workflows, and perform any other programmatic operations.
'
servers:
- url: https://api.meetcampfire.com
description: Production server
tags:
- name: Company Objects
paths:
/ca/api/v1/custom-fields:
get:
operationId: ca_api_v1_custom_fields_list
description: "\n List all custom fields for a given app and model.\n\n Supports including soft-deleted records for audit and recovery purposes.\n When include_deleted=true, returns ONLY deleted records instead of active records.\n Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n This provides clean separation between active and deleted data.\n "
summary: List Custom Fields
parameters:
- in: query
name: app
schema:
type: string
description: App name
- in: query
name: include_deleted
schema:
type: boolean
default: false
description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
- in: query
name: is_active
schema:
type: boolean
description: Filter by active status
- in: query
name: last_modified_at__gte
schema:
type: string
description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- in: query
name: last_modified_at__lte
schema:
type: string
description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: model
schema:
type: string
description: Model name
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCustomFieldList'
description: ''
post:
operationId: ca_api_v1_custom_fields_create
description: Create a new custom field for a given app and model
summary: Create Custom Field
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CustomField'
multipart/form-data:
schema:
$ref: '#/components/schemas/CustomField'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
/ca/api/v1/custom-fields/{id}:
get:
operationId: ca_api_v1_custom_fields_retrieve
summary: Retrieve Custom Field
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
put:
operationId: ca_api_v1_custom_fields_update
summary: Update Custom Field
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CustomField'
multipart/form-data:
schema:
$ref: '#/components/schemas/CustomField'
required: true
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
patch:
operationId: ca_api_v1_custom_fields_partial_update
summary: Partial Update Custom Field
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCustomField'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCustomField'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCustomField'
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
delete:
operationId: ca_api_v1_custom_fields_destroy
summary: Delete Custom Field
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'204':
description: No response body
/coa/api/account:
get:
operationId: coa_api_account_list
description: Lists the chart of accounts (GL accounts). Each account includes metadata about its parent account and its full lineage (the ordered chain of ancestor accounts), so parent/child account relationships can be reconstructed from the response.
summary: List Chart of Accounts
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedChartAccountList'
description: ''
post:
operationId: coa_api_account_create
description: Lists the chart of accounts (GL accounts). Each account includes metadata about its parent account and its full lineage (the ordered chain of ancestor accounts), so parent/child account relationships can be reconstructed from the response.
summary: Create Chart Account
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChartAccount'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChartAccount'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
/coa/api/account/{id}:
get:
operationId: coa_api_account_retrieve
summary: Retrieve Chart Account
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
put:
operationId: coa_api_account_update
summary: Update Chart Account
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChartAccount'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChartAccount'
required: true
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
patch:
operationId: coa_api_account_partial_update
summary: Partial Update Chart Account
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedChartAccount'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedChartAccount'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedChartAccount'
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
delete:
operationId: coa_api_account_destroy
summary: Delete Chart Account
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'204':
description: No response body
/coa/api/account/balance-sheet:
get:
operationId: coa_api_account_balance_sheet_list
description: Retrieve a list of chart accounts with optional filtering and sorting
summary: List Chart Accounts
parameters:
- in: query
name: account
schema:
type: integer
description: Filter by account ID. Can be specified multiple times for multiple accounts
explode: true
style: form
- in: query
name: account_subtype
schema:
type: string
description: Filter by account subtype. Can be specified multiple times for multiple subtypes
explode: true
style: form
- in: query
name: account_type
schema:
type: string
description: Filter by account type. Can be specified multiple times for multiple types
explode: true
style: form
- in: query
name: include_cost_allocation
schema:
type: boolean
default: false
description: Include accounts with cost allocation
- in: query
name: include_inactive
schema:
type: boolean
default: true
description: Include inactive accounts in results
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: q
schema:
type: string
description: Search query - searches by account name or number
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedChartAccountList'
description: ''
post:
operationId: coa_api_account_balance_sheet_create
description: Lists the chart of accounts (GL accounts). Each account includes metadata about its parent account and its full lineage (the ordered chain of ancestor accounts), so parent/child account relationships can be reconstructed from the response.
summary: Create Chart Account
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChartAccount'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChartAccount'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
/coa/api/account/income-statement:
get:
operationId: coa_api_account_income_statement_list
description: Lists the chart of accounts (GL accounts). Each account includes metadata about its parent account and its full lineage (the ordered chain of ancestor accounts), so parent/child account relationships can be reconstructed from the response.
summary: List Chart of Accounts
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedChartAccountList'
description: ''
post:
operationId: coa_api_account_income_statement_create
description: Lists the chart of accounts (GL accounts). Each account includes metadata about its parent account and its full lineage (the ordered chain of ancestor accounts), so parent/child account relationships can be reconstructed from the response.
summary: Create Chart Account
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChartAccount'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChartAccount'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ChartAccount'
description: ''
/coa/api/cost-allocations:
get:
operationId: coa_api_cost_allocations_list
description: "\n Retrieve a list of cost allocations with optional filtering and sorting.\n\n Supports including soft-deleted records for audit and recovery purposes.\n When include_deleted=true, returns ONLY deleted records instead of active records.\n Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n This provides clean separation between active and deleted data.\n "
summary: List Cost Allocation
parameters:
- in: query
name: include_deleted
schema:
type: boolean
default: false
description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
- in: query
name: last_modified_at__gte
schema:
type: string
description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- in: query
name: last_modified_at__lte
schema:
type: string
description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCostAllocationList'
description: ''
post:
operationId: coa_api_cost_allocations_create
description: 'Complete mixin for history filtering with pagination support.
Returns either active OR deleted records based on include_deleted parameter.'
summary: Create Cost Allocation
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CostAllocation'
multipart/form-data:
schema:
$ref: '#/components/schemas/CostAllocation'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
description: ''
/coa/api/cost-allocations/{id}:
get:
operationId: coa_api_cost_allocations_retrieve
summary: Get Cost Allocation
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
description: ''
put:
operationId: coa_api_cost_allocations_update
summary: Update Cost Allocation
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CostAllocation'
multipart/form-data:
schema:
$ref: '#/components/schemas/CostAllocation'
required: true
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
description: ''
patch:
operationId: coa_api_cost_allocations_partial_update
summary: Partial Update Cost Allocation
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCostAllocation'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCostAllocation'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCostAllocation'
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CostAllocation'
description: ''
delete:
operationId: coa_api_cost_allocations_destroy
summary: Delete Cost Allocation
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'204':
description: No response body
/coa/api/department:
get:
operationId: coa_api_department_list
description: "\n Retrieve a list of departments with optional filtering and sorting.\n\n Each department includes metadata about its parent department (`parent`, `parent_name`),\n so parent/child department relationships can be reconstructed from the response.\n\n Supports including soft-deleted records for audit and recovery purposes.\n When include_deleted=true, returns ONLY deleted records instead of active records.\n Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n This provides clean separation between active and deleted data.\n "
summary: List Departments
parameters:
- in: query
name: include_deleted
schema:
type: boolean
default: false
description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
- in: query
name: include_inactive
schema:
type: boolean
default: true
description: Include inactive departments in results
- in: query
name: last_modified_at__gte
schema:
type: string
description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- in: query
name: last_modified_at__lte
schema:
type: string
description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: q
schema:
type: string
description: Search query - searches by department name or code
- in: query
name: sort
schema:
type: string
default: name
description: 'Sort order. Use field name for ascending, -field for descending. Supports multiple fields separated by comma. Default: name'
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDepartmentList'
description: ''
x-mint:
mcp:
enabled: true
name: get_departments
description: Retrieve department information with optional filtering
post:
operationId: coa_api_department_create
description: 'Complete mixin for history filtering with pagination support.
Returns either active OR deleted records based on include_deleted parameter.'
summary: Create Department
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Department'
multipart/form-data:
schema:
$ref: '#/components/schemas/Department'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
description: ''
/coa/api/department/{id}:
get:
operationId: coa_api_department_retrieve
summary: Retrieve Department
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
description: ''
put:
operationId: coa_api_department_update
summary: Update Department
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Department'
multipart/form-data:
schema:
$ref: '#/components/schemas/Department'
required: true
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
description: ''
patch:
operationId: coa_api_department_partial_update
summary: Partial Update Department
parameters:
- in: path
name: id
schema:
type: integer
required: true
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDepartment'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDepartment'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDepartment'
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Department'
description: ''
delete:
operationId: coa_api_department_destroy
description: Delete a department and optionally reassign all related records to another department
summary: Delete Department
parameters:
- in: path
name: id
schema:
type: integer
required: true
- in: query
name: new_department
schema:
type: integer
description: ID of the department to reassign all related records to before deletion
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'204':
description: No response body
/coa/api/fixed-asset-class:
get:
operationId: coa_api_fixed_asset_class_list
description: "\n Retrieve a list of fixed asset classes with optional filtering and sorting.\n\n Supports including soft-deleted records for audit and recovery purposes.\n When include_deleted=true, returns ONLY deleted records instead of active records.\n Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,\n and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.\n This provides clean separation between active and deleted data.\n "
summary: List Fixed Asset Classes
parameters:
- in: query
name: include_deleted
schema:
type: boolean
default: false
description: 'When set to ''true'', returns ONLY deleted records instead of active records. Deleted records contain minimal data: ''id'', ''is_deleted=true'', ''deleted_at'' timestamp, and ''last_modified_at''. When ''false'' or omitted, returns ONLY active records. This provides clean separation between active and deleted data.'
- in: query
name: last_modified_at__gte
schema:
type: string
description: 'Filter for records modified on or after this timestamp. Format: ISO 8601 (e.g., ''2024-01-01T00:00:00Z'' or ''2024-01-01''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- in: query
name: last_modified_at__lte
schema:
type: string
description: 'Filter for records modified on or before this timestamp. Format: ISO 8601 (e.g., ''2024-12-31T23:59:59Z'' or ''2024-12-31''). Works with both active records and deleted records (filters by deletion time for deleted records).'
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
tags:
- Company Objects
security:
- knoxApiToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFixedAssetClassList'
description: ''
post:
operationId: coa_api_fixed_asset_class_create
description: 'Complete mixin for history filtering with pagination support.
Returns either active OR deleted records based on include_deleted parameter.'
summary: Create Fixed Asset Class
tags:
- Company Objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FixedAssetClass'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FixedAssetClass'
multipart/form-data:
schema:
$ref: '#/components/schemas/FixedAssetClass'
required: true
security:
- knoxApiToken: []
responses:
'201':
content:
application/j
# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/campfire/refs/heads/main/openapi/campfire-company-objects-api-openapi.yml