{ "opencollection": "1.0.0", "info": { "name": "Campfire Developer APIs Accounts Payable Settings API", "version": "1.0.0" }, "items": [ { "info": { "name": "Settings", "type": "folder" }, "items": [ { "info": { "name": "List Files", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/file", "params": [ { "name": "include_deleted", "value": "", "type": "query", "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." }, { "name": "last_modified_at__gte", "value": "", "type": "query", "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)." }, { "name": "last_modified_at__lte", "value": "", "type": "query", "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", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "\n Retrieve a list of files 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 " }, { "info": { "name": "Get File", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/file/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Get File" }, { "info": { "name": "Update File", "type": "http" }, "http": { "method": "PUT", "url": "https://api.meetcampfire.com/ca/api/file/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Update File" }, { "info": { "name": "Patch File", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.meetcampfire.com/ca/api/file/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Patch File" }, { "info": { "name": "Delete File", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.meetcampfire.com/ca/api/file/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Delete File" }, { "info": { "name": "Get File Temporary Download URL", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/file/:id/temp-download-url", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Return a short-lived presigned S3 URL for downloading a file.\n\nPass ``?disposition=inline`` to render preview-safe types (PDF, images)\nin the browser instead of forcing a download.\n\n:param request: The incoming DRF request (must be authenticated).\n:return: JSON response with ``url`` key or an error." }, { "info": { "name": "Upload File", "type": "http" }, "http": { "method": "POST", "url": "https://api.meetcampfire.com/ca/api/file/upload", "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "\n Upload a file directly to Campfire. This is the primary way to upload files.\n\n **Supported Models:**\n bill, chat, close_task, closecheckitem, contract, credit_memo, customer, debit_memo, draft_queue, fixed_asset, intercompany_journal, invoice, journal_entry, journalentry, lease_v2, migration_record, policy, reconciliation, reconciliation_report\n\n **Supported Content Types:**\n application/msword, application/pdf, application/vnd.ms-excel, application/vnd.ms-po" }, { "info": { "name": "List Customer Currencies", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/user_currency", "params": [ { "name": "include_deleted", "value": "", "type": "query", "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." }, { "name": "last_modified_at__gte", "value": "", "type": "query", "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)." }, { "name": "last_modified_at__lte", "value": "", "type": "query", "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", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "\n Retrieve a list of customer currencies 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 del" }, { "info": { "name": "Create Customer Currencies", "type": "http" }, "http": { "method": "POST", "url": "https://api.meetcampfire.com/ca/api/user_currency", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Complete mixin for history filtering with pagination support.\nReturns either active OR deleted records based on include_deleted parameter." }, { "info": { "name": "Retrieve Customer Currencies", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/user_currency/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Retrieve Customer Currencies" }, { "info": { "name": "Update Customer Currencies", "type": "http" }, "http": { "method": "PUT", "url": "https://api.meetcampfire.com/ca/api/user_currency/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Update Customer Currencies" }, { "info": { "name": "Partial Update Customer Currencies", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.meetcampfire.com/ca/api/user_currency/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Partial Update Customer Currencies" }, { "info": { "name": "Delete Customer Currencies", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.meetcampfire.com/ca/api/user_currency/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Delete Customer Currencies" }, { "info": { "name": "Get Currency Exchange Rate", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/user_currency/rate", "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Get Currency Exchange Rate" }, { "info": { "name": "Get Currencies Exchange Rates for Currency", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/ca/api/user_currency/with_rate", "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Get Currencies Exchange Rates for Currency" }, { "info": { "name": "Retrieve Chart Account Settings", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/coa/api/chart-account-settings", "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "These are the defaults chart accounts to be used across the platform. Each input is the id to an existing chart account." }, { "info": { "name": "Update Chart Account Settings", "type": "http" }, "http": { "method": "PUT", "url": "https://api.meetcampfire.com/coa/api/chart-account-settings", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "These are the defaults chart accounts to be used across the platform. Each input is the id to an existing chart account." }, { "info": { "name": "Partially Update Chart Account Settings", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.meetcampfire.com/coa/api/chart-account-settings", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Partially update the default chart accounts to be used across the platform. Each input is the id to an existing chart account." }, { "info": { "name": "List Chart Entities", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/coa/api/entity", "params": [ { "name": "exclude_adjusting", "value": "", "type": "query", "description": "Exclude adjusting entities (those with a primary_entity set) from results. Defaults to false for backwards compatibility." }, { "name": "include_inactive", "value": "", "type": "query", "description": "Include inactive entities in results" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Retrieve a list of chart entities with optional filtering" }, { "info": { "name": "Create Chart Entity", "type": "http" }, "http": { "method": "POST", "url": "https://api.meetcampfire.com/coa/api/entity", "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Complete mixin for history filtering with pagination support.\nReturns either active OR deleted records based on include_deleted parameter." }, { "info": { "name": "Retrieve Chart Entity", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/coa/api/entity/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Retrieve Chart Entity" }, { "info": { "name": "Update Chart Entity", "type": "http" }, "http": { "method": "PUT", "url": "https://api.meetcampfire.com/coa/api/entity/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Update Chart Entity" }, { "info": { "name": "Partial Update Chart Entity", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.meetcampfire.com/coa/api/entity/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Partial Update Chart Entity" }, { "info": { "name": "Delete Chart Entity", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.meetcampfire.com/coa/api/entity/:id", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Delete Chart Entity" }, { "info": { "name": "Upload Chart Entity Logo", "type": "http" }, "http": { "method": "POST", "url": "https://api.meetcampfire.com/coa/api/entity/:id/logo", "params": [ { "name": "id", "value": "", "type": "path" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Upload Chart Entity Logo" }, { "info": { "name": "List All Entities for Intercompany JE", "type": "http" }, "http": { "method": "GET", "url": "https://api.meetcampfire.com/coa/api/entity/for-intercompany", "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Returns ALL entities for intercompany journal entry creation.\n\nThis endpoint bypasses entity-scoped filtering because users need to\nselect entities they don't normally have access to when creating\nintercompany journal entries (per the entity-scoped-user-access spec).\n\nUses minimal serializer to only expose id, name, and currency - preventing\ndata leakage of sensitive entity details to users who may not have full\naccess to all entities." } ] } ], "bundled": true }