List Journal Entries
curl --request GET \
--url https://api.meetcampfire.com/coa/api/journal_entry \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetcampfire.com/coa/api/journal_entry"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetcampfire.com/coa/api/journal_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetcampfire.com/coa/api/journal_entry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetcampfire.com/coa/api/journal_entry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetcampfire.com/coa/api/journal_entry")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/journal_entry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 7491945,
"transactions": [
{
"id": 24429462,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1000 - Cash and Cash Equivalents",
"account_number": "1000",
"tags": [],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": 12345.67,
"account": 180564,
"last_modified_by_name": "Zack Moss",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"amortization_schedule": [],
"transaction_id": "285b736b-5dd4-4cd3-9c46-683bd1972042",
"debit_amount": 12345.67,
"credit_amount": null,
"debit_amount_book": 12345.67,
"credit_amount_book": null,
"debit_amount_native": 12345.67,
"credit_amount_native": null,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+0000",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+0000",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": null,
"department": null,
"last_modified_by": 904
},
{
"id": 24429463,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1600 - Fixed Assets",
"account_number": "1600",
"vendor_name": "ABC Bead Supply",
"department_name": "Engineering",
"parent_department_name": "R&D",
"parent_department": 2127,
"tags": [
{
"id": 8360,
"group_name": "Entity Type",
"parent_name": null,
"parent": null,
"name": "Operational Companies",
"created_at": "2025-07-18T15:23:56+0000",
"last_modified_at": "2025-07-18T15:23:56+0000",
"group": 760
}
],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": -12345.67,
"account": 2563,
"last_modified_by_name": "Zack Moss",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"amortization_schedule": [],
"transaction_id": "a8002c20-549e-4bc6-969e-dbc2288f45ba",
"debit_amount": null,
"credit_amount": 12345.67,
"debit_amount_book": null,
"credit_amount_book": 12345.67,
"debit_amount_native": null,
"credit_amount_native": 12345.67,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+0000",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+0000",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": 34182,
"department": 35,
"last_modified_by": 904
}
],
"attachments": [],
"invoice": null,
"reversals": [
{
"id": 7491946,
"order": "0004359"
}
],
"entity_name": "Top Level",
"entity_currency": "USD",
"order": "0004358",
"revenue_transactions": [],
"search_vector": "'0004358':1A '07':3C '2025':2C '31':4C",
"search_text": " 0004358",
"type": "journal_entry",
"journal_id": "5be022f1-77df-4cc7-977d-1c3d7d5828c8",
"memo": "Test Journal Memo",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_automatically": false,
"date": "2025-07-31",
"ref_number": null,
"created_at": "2025-07-25T00:01:28+0000",
"source": "manual",
"source_id": null,
"last_modified_at": "2025-07-25T00:01:28+0000",
"recurrent_journal_entry": null,
"entity": 54,
"reversal_of": null,
"intercompany_journal": null,
"source_file": null,
"chat": null
}
]
}Core Accounting
List Journal Entries
Retrieve a paginated list of journal entries with optional filtering and sorting.
Query Parameters:
start_date,end_date: Filter by date range (defaults to last 6 months)account: Filter by account ID(s) - supports multiple valuessource: Filter by journal entry sourcejournal_id: Filter by specific journal IDall_time: Include all entries regardless of date (true/false)sort: Sort field (default: “date”)
Response includes:
- Complete journal entry details with all transactions
- Account information with names and numbers
- Vendor and department details
- Tag associations with groups
- Attachment information
- Exchange rate data for multi-currency entries
GET
/
coa
/
api
/
journal_entry
List Journal Entries
curl --request GET \
--url https://api.meetcampfire.com/coa/api/journal_entry \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetcampfire.com/coa/api/journal_entry"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetcampfire.com/coa/api/journal_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetcampfire.com/coa/api/journal_entry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetcampfire.com/coa/api/journal_entry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetcampfire.com/coa/api/journal_entry")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetcampfire.com/coa/api/journal_entry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 7491945,
"transactions": [
{
"id": 24429462,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1000 - Cash and Cash Equivalents",
"account_number": "1000",
"tags": [],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": 12345.67,
"account": 180564,
"last_modified_by_name": "Zack Moss",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"amortization_schedule": [],
"transaction_id": "285b736b-5dd4-4cd3-9c46-683bd1972042",
"debit_amount": 12345.67,
"credit_amount": null,
"debit_amount_book": 12345.67,
"credit_amount_book": null,
"debit_amount_native": 12345.67,
"credit_amount_native": null,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+0000",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+0000",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": null,
"department": null,
"last_modified_by": 904
},
{
"id": 24429463,
"entity_name": "Top Level",
"entity_currency": "USD",
"account_name": "1600 - Fixed Assets",
"account_number": "1600",
"vendor_name": "ABC Bead Supply",
"department_name": "Engineering",
"parent_department_name": "R&D",
"parent_department": 2127,
"tags": [
{
"id": 8360,
"group_name": "Entity Type",
"parent_name": null,
"parent": null,
"name": "Operational Companies",
"created_at": "2025-07-18T15:23:56+0000",
"last_modified_at": "2025-07-18T15:23:56+0000",
"group": 760
}
],
"journal": 7491945,
"journal_order": "0004358",
"journal_memo": "Test Journal Memo",
"journal_type": "journal_entry",
"intercompany_journal": null,
"created_automatically": false,
"journal_attachments": [],
"journal_type_name": "Journal Entry",
"invoice": null,
"bill": null,
"date_month": "07",
"date_year": "2025",
"balance_after_transaction": -12345.67,
"account": 2563,
"last_modified_by_name": "Zack Moss",
"account_type": "ASSET",
"files": [],
"file_names": [],
"amount": 12345.67,
"amount_native": 12345.67,
"amount_book": 12345.67,
"amortization_schedule": [],
"transaction_id": "a8002c20-549e-4bc6-969e-dbc2288f45ba",
"debit_amount": null,
"credit_amount": 12345.67,
"debit_amount_book": null,
"credit_amount_book": 12345.67,
"debit_amount_native": null,
"credit_amount_native": 12345.67,
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"posted_at": "2025-07-31",
"merchant_name": null,
"bank_description": "Test Line Description",
"note": null,
"balance_before_transaction": null,
"created_at": "2025-07-25T00:01:28+0000",
"external_id": null,
"needs_review": false,
"last_modified_at": "2025-07-25T00:01:28+0000",
"draft_matches": null,
"entity": 54,
"parent_bank_transaction": null,
"vendor": 34182,
"department": 35,
"last_modified_by": 904
}
],
"attachments": [],
"invoice": null,
"reversals": [
{
"id": 7491946,
"order": "0004359"
}
],
"entity_name": "Top Level",
"entity_currency": "USD",
"order": "0004358",
"revenue_transactions": [],
"search_vector": "'0004358':1A '07':3C '2025':2C '31':4C",
"search_text": " 0004358",
"type": "journal_entry",
"journal_id": "5be022f1-77df-4cc7-977d-1c3d7d5828c8",
"memo": "Test Journal Memo",
"currency": "USD",
"exchange_rate": 1,
"exchange_rate_book": 1,
"created_automatically": false,
"date": "2025-07-31",
"ref_number": null,
"created_at": "2025-07-25T00:01:28+0000",
"source": "manual",
"source_id": null,
"last_modified_at": "2025-07-25T00:01:28+0000",
"recurrent_journal_entry": null,
"entity": 54,
"reversal_of": null,
"intercompany_journal": null,
"source_file": null,
"chat": null
}
]
}Authorizations
Token-based authentication with required prefix "Token"
Query Parameters
Filter by account ID(s). Can specify multiple values.
Include all entries regardless of date range
End date for filtering (YYYY-MM-DD format)
Number of results to return per page.
The initial index from which to return the results.
Filter by journal entry source (e.g., 'manual', 'CSV Upload')
Start date for filtering (YYYY-MM-DD format)
⌘I