{"app": "SlowBooks Pro", "version": "2.31.4", "operations": 735,
"note": "Generated from GET /openapi.json; that document has every field.",
"routes": [
{"method": "GET", "path": "/", "summary": "Serve Index", "tag": ""},
{"method": "GET", "path": "/analytics", "summary": "Serve Analytics Redirect", "tag": ""},
{"method": "GET", "path": "/api/accountants-copy/changes", "summary": "Changes", "tag": "accountants-copy"},
{"method": "POST", "path": "/api/accountants-copy/changes/apply", "summary": "Apply", "tag": "accountants-copy"},
{"method": "POST", "path": "/api/accountants-copy/changes/preview", "summary": "Preview", "tag": "accountants-copy"},
{"method": "GET", "path": "/api/accountants-copy/download/{copy_id}", "summary": "Download", "tag": "accountants-copy"},
{"method": "POST", "path": "/api/accountants-copy/make", "summary": "Make", "tag": "accountants-copy"},
{"method": "POST", "path": "/api/accountants-copy/open", "summary": "Open Copy", "tag": "accountants-copy"},
{"method": "GET", "path": "/api/accountants-copy/status", "summary": "Status", "tag": "accountants-copy"},
{"method": "GET", "path": "/api/accounts", "summary": "List Accounts", "tag": "accounts"},
{"method": "POST", "path": "/api/accounts", "summary": "Create Account", "tag": "accounts"},
{"method": "GET", "path": "/api/accounts/detail-types", "summary": "List Detail Types", "tag": "accounts"},
{"method": "POST", "path": "/api/accounts/rebuild-balances", "summary": "Rebuild Balances", "tag": "accounts"},
{"method": "GET", "path": "/api/accounts/unused-seeded", "summary": "Unused Seeded", "tag": "accounts"},
{"method": "POST", "path": "/api/accounts/unused-seeded/remove", "summary": "Remove Unused Seeded", "tag": "accounts"},
{"method": "GET", "path": "/api/accounts/{account_id}", "summary": "Get Account", "tag": "accounts"},
{"method": "PUT", "path": "/api/accounts/{account_id}", "summary": "Update Account", "tag": "accounts"},
{"method": "DELETE", "path": "/api/accounts/{account_id}", "summary": "Delete Account", "tag": "accounts"},
{"method": "GET", "path": "/api/analytics/ai-actions", "summary": "List Ai Actions", "tag": "analytics"},
{"method": "POST", "path": "/api/analytics/ai-actions/{action_key}", "summary": "Run Ai Action", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/ai-config", "summary": "Get Ai Config", "tag": "analytics"},
{"method": "PUT", "path": "/api/analytics/ai-config", "summary": "Put Ai Config", "tag": "analytics"},
{"method": "POST", "path": "/api/analytics/ai-config/test", "summary": "Test Ai Config", "tag": "analytics"},
{"method": "POST", "path": "/api/analytics/ai-insights", "summary": "Ai Insights", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/ai-models", "summary": "Get Ai Models", "tag": "analytics"},
{"method": "POST", "path": "/api/analytics/ai-models", "summary": "Post Ai Models", "tag": "analytics"},
{"method": "POST", "path": "/api/analytics/ai-query", "summary": "Ai Query", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/cash-flow", "summary": "Get Cash Flow", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/dashboard", "summary": "Get Dashboard", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/expenses", "summary": "Get Expenses", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/export.csv", "summary": "Export Csv", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/export.pdf", "summary": "Export Pdf", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/profitability", "summary": "Get Profitability", "tag": "analytics"},
{"method": "GET", "path": "/api/analytics/revenue", "summary": "Get Revenue", "tag": "analytics"},
{"method": "GET", "path": "/api/attachments/download/{attachment_id}", "summary": "Download Attachment", "tag": "attachments"},
{"method": "DELETE", "path": "/api/attachments/{attachment_id}", "summary": "Delete Attachment", "tag": "attachments"},
{"method": "GET", "path": "/api/attachments/{entity_type}/{entity_id}", "summary": "List Attachments", "tag": "attachments"},
{"method": "POST", "path": "/api/attachments/{entity_type}/{entity_id}", "summary": "Upload Attachment", "tag": "attachments"},
{"method": "GET", "path": "/api/audit", "summary": "List Audit Logs", "tag": "audit"},
{"method": "GET", "path": "/api/audit/tables", "summary": "List Audited Tables", "tag": "audit"},
{"method": "POST", "path": "/api/auth/company", "summary": "Choose Company", "tag": "auth"},
{"method": "POST", "path": "/api/auth/login", "summary": "Login", "tag": "auth"},
{"method": "POST", "path": "/api/auth/logout", "summary": "Logout", "tag": "auth"},
{"method": "POST", "path": "/api/auth/password", "summary": "Set Own Password", "tag": "auth"},
{"method": "POST", "path": "/api/auth/setup", "summary": "Setup", "tag": "auth"},
{"method": "GET", "path": "/api/auth/status", "summary": "Auth Status", "tag": "auth"},
{"method": "GET", "path": "/api/backups", "summary": "List Backups", "tag": "backups"},
{"method": "POST", "path": "/api/backups", "summary": "Make Backup", "tag": "backups"},
{"method": "GET", "path": "/api/backups/download/{filename}", "summary": "Download Backup", "tag": "backups"},
{"method": "POST", "path": "/api/backups/restore", "summary": "Restore", "tag": "backups"},
{"method": "POST", "path": "/api/bank-import/import-csv/{bank_account_id}", "summary": "Import Csv", "tag": "bank_import"},
{"method": "POST", "path": "/api/bank-import/import/{bank_account_id}", "summary": "Import Ofx", "tag": "bank_import"},
{"method": "POST", "path": "/api/bank-import/preview", "summary": "Preview Ofx", "tag": "bank_import"},
{"method": "POST", "path": "/api/bank-import/preview-csv", "summary": "Preview Csv", "tag": "bank_import"},
{"method": "GET", "path": "/api/bank-rules", "summary": "List Rules", "tag": "bank-rules"},
{"method": "POST", "path": "/api/bank-rules", "summary": "Create Rule", "tag": "bank-rules"},
{"method": "POST", "path": "/api/bank-rules/apply", "summary": "Apply Rules", "tag": "bank-rules"},
{"method": "GET", "path": "/api/bank-rules/{rule_id}", "summary": "Get Rule", "tag": "bank-rules"},
{"method": "PUT", "path": "/api/bank-rules/{rule_id}", "summary": "Update Rule", "tag": "bank-rules"},
{"method": "DELETE", "path": "/api/bank-rules/{rule_id}", "summary": "Delete Rule", "tag": "bank-rules"},
{"method": "GET", "path": "/api/banking/accounts", "summary": "List Bank Accounts", "tag": "banking"},
{"method": "POST", "path": "/api/banking/accounts", "summary": "Create Bank Account", "tag": "banking"},
{"method": "GET", "path": "/api/banking/accounts/{account_id}", "summary": "Get Bank Account", "tag": "banking"},
{"method": "PUT", "path": "/api/banking/accounts/{account_id}", "summary": "Update Bank Account", "tag": "banking"},
{"method": "POST", "path": "/api/banking/accounts/{account_id}/feed/add-all", "summary": "Feed Add All", "tag": "banking"},
{"method": "POST", "path": "/api/banking/accounts/{account_id}/feed/auto-match", "summary": "Feed Auto Match", "tag": "banking"},
{"method": "POST", "path": "/api/banking/accounts/{account_id}/post-legacy-balance", "summary": "Post Legacy Balance", "tag": "banking"},
{"method": "GET", "path": "/api/banking/check-register", "summary": "Check Register", "tag": "banking"},
{"method": "GET", "path": "/api/banking/entries/{txn_id}", "summary": "Get Bank Entry", "tag": "banking"},
{"method": "PUT", "path": "/api/banking/entries/{txn_id}", "summary": "Update Bank Entry", "tag": "banking"},
{"method": "POST", "path": "/api/banking/entries/{txn_id}/void", "summary": "Void Bank Entry", "tag": "banking"},
{"method": "GET", "path": "/api/banking/ledger-balance", "summary": "Ledger Balance", "tag": "banking"},
{"method": "GET", "path": "/api/banking/overview", "summary": "Banking Overview", "tag": "banking"},
{"method": "GET", "path": "/api/banking/reconciliations", "summary": "List Reconciliations", "tag": "banking"},
{"method": "POST", "path": "/api/banking/reconciliations", "summary": "Create Reconciliation", "tag": "banking"},
{"method": "PUT", "path": "/api/banking/reconciliations/{recon_id}", "summary": "Update Reconciliation", "tag": "banking"},
{"method": "DELETE", "path": "/api/banking/reconciliations/{recon_id}", "summary": "Abandon Reconciliation", "tag": "banking"},
{"method": "POST", "path": "/api/banking/reconciliations/{recon_id}/complete", "summary": "Complete Reconciliation", "tag": "banking"},
{"method": "POST", "path": "/api/banking/reconciliations/{recon_id}/mark-all", "summary": "Mark All Cleared", "tag": "banking"},
{"method": "GET", "path": "/api/banking/reconciliations/{recon_id}/pdf", "summary": "Reconciliation Report Pdf", "tag": "banking"},
{"method": "GET", "path": "/api/banking/reconciliations/{recon_id}/report", "summary": "Reconciliation Report", "tag": "banking"},
{"method": "POST", "path": "/api/banking/reconciliations/{recon_id}/toggle/{line_id}", "summary": "Toggle Cleared", "tag": "banking"},
{"method": "GET", "path": "/api/banking/reconciliations/{recon_id}/transactions", "summary": "Get Reconciliation Transactions", "tag": "banking"},
{"method": "GET", "path": "/api/banking/transactions", "summary": "List Bank Transactions", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions", "summary": "Create Bank Transaction", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/vendors", "summary": "Statement Vendors", "tag": "banking"},
{"method": "PATCH", "path": "/api/banking/transactions/{txn_id}", "summary": "Statement Set Category", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/add", "summary": "Statement Add", "tag": "banking"},
{"method": "GET", "path": "/api/banking/transactions/{txn_id}/candidates", "summary": "Statement Candidates", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/exclude", "summary": "Statement Exclude", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/match", "summary": "Statement Match", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/payout", "summary": "Statement Payout", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/restore", "summary": "Statement Restore", "tag": "banking"},
{"method": "POST", "path": "/api/banking/transactions/{txn_id}/unmatch", "summary": "Statement Unmatch", "tag": "banking"},
{"method": "POST", "path": "/api/batch-payments", "summary": "Create Batch Payment", "tag": "batch_payments"},
{"method": "GET", "path": "/api/benefits/codes", "summary": "List Codes", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/codes", "summary": "Create Code", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/codes/seed-standard", "summary": "Seed Standard", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/codes/{code_id}", "summary": "Get Code", "tag": "benefits"},
{"method": "PUT", "path": "/api/benefits/codes/{code_id}", "summary": "Update Code", "tag": "benefits"},
{"method": "DELETE", "path": "/api/benefits/codes/{code_id}", "summary": "Deactivate Code", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/codes/{code_id}/rates", "summary": "List Rates", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/codes/{code_id}/rates", "summary": "Add Rate", "tag": "benefits"},
{"method": "DELETE", "path": "/api/benefits/codes/{code_id}/rates/{rate_id}", "summary": "Delete Rate", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/employee/{emp_id}/resolved", "summary": "Resolved For Employee", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/enrollments", "summary": "List Enrollments", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/enrollments", "summary": "Create Enrollment", "tag": "benefits"},
{"method": "PUT", "path": "/api/benefits/enrollments/{enrollment_id}", "summary": "Update Enrollment", "tag": "benefits"},
{"method": "DELETE", "path": "/api/benefits/enrollments/{enrollment_id}", "summary": "End Enrollment", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/groups", "summary": "List Groups", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/groups", "summary": "Create Group", "tag": "benefits"},
{"method": "PUT", "path": "/api/benefits/groups/{group_id}", "summary": "Update Group", "tag": "benefits"},
{"method": "DELETE", "path": "/api/benefits/groups/{group_id}", "summary": "Delete Group", "tag": "benefits"},
{"method": "PUT", "path": "/api/benefits/groups/{group_id}/codes", "summary": "Set Group Codes", "tag": "benefits"},
{"method": "PUT", "path": "/api/benefits/groups/{group_id}/members", "summary": "Set Group Members", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/remittance", "summary": "Remittance", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/remittance/bill", "summary": "Remittance Bill", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/setup-accounts", "summary": "Setup Accounts", "tag": "benefits"},
{"method": "GET", "path": "/api/benefits/ytd", "summary": "List Ytd", "tag": "benefits"},
{"method": "POST", "path": "/api/benefits/ytd/rebuild", "summary": "Rebuild Ytd", "tag": "benefits"},
{"method": "GET", "path": "/api/bill-payments", "summary": "List Bill Payments", "tag": "bill_payments"},
{"method": "POST", "path": "/api/bill-payments", "summary": "Create Bill Payment", "tag": "bill_payments"},
{"method": "GET", "path": "/api/bill-payments/{bill_payment_id}", "summary": "Get Bill Payment", "tag": "bill_payments"},
{"method": "PUT", "path": "/api/bill-payments/{bill_payment_id}/memo", "summary": "Update Bill Payment Memo", "tag": "bill_payments"},
{"method": "POST", "path": "/api/bill-payments/{bill_payment_id}/void", "summary": "Void Bill Payment", "tag": "bill_payments"},
{"method": "GET", "path": "/api/bills", "summary": "List Bills", "tag": "bills"},
{"method": "POST", "path": "/api/bills", "summary": "Create Bill", "tag": "bills"},
{"method": "GET", "path": "/api/bills/{bill_id}", "summary": "Get Bill", "tag": "bills"},
{"method": "PUT", "path": "/api/bills/{bill_id}", "summary": "Update Bill", "tag": "bills"},
{"method": "GET", "path": "/api/bills/{bill_id}/pdf", "summary": "Bill Pdf", "tag": "bills"},
{"method": "GET", "path": "/api/bills/{bill_id}/print-preview", "summary": "Bill Print Preview", "tag": "bills"},
{"method": "POST", "path": "/api/bills/{bill_id}/void", "summary": "Void Bill", "tag": "bills"},
{"method": "GET", "path": "/api/budgets", "summary": "List Budgets", "tag": "budgets"},
{"method": "POST", "path": "/api/budgets", "summary": "Create Budget", "tag": "budgets"},
{"method": "POST", "path": "/api/budgets/bulk", "summary": "Bulk Upsert", "tag": "budgets"},
{"method": "GET", "path": "/api/budgets/variance", "summary": "Budget Variance", "tag": "budgets"},
{"method": "GET", "path": "/api/cc-charges", "summary": "List Cc Charges", "tag": "cc-charges"},
{"method": "POST", "path": "/api/cc-charges", "summary": "Create Cc Charge", "tag": "cc-charges"},
{"method": "POST", "path": "/api/cc-charges/{charge_id}/void", "summary": "Void Cc Charge", "tag": "cc-charges"},
{"method": "GET", "path": "/api/change-orders", "summary": "List Change Orders", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders", "summary": "Create Change Order", "tag": "change-orders"},
{"method": "GET", "path": "/api/change-orders/{co_id}", "summary": "Get Change Order", "tag": "change-orders"},
{"method": "PUT", "path": "/api/change-orders/{co_id}", "summary": "Update Change Order", "tag": "change-orders"},
{"method": "DELETE", "path": "/api/change-orders/{co_id}", "summary": "Delete Change Order", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/approve", "summary": "Approve Change Order", "tag": "change-orders"},
{"method": "GET", "path": "/api/change-orders/{co_id}/pdf", "summary": "Change Order Pdf", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/promote", "summary": "Promote Change Order", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/reject", "summary": "Reject Change Order", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/revise", "summary": "Revise Pco", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/sub-order", "summary": "Sub Order From Owner", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/submit", "summary": "Submit Change Order", "tag": "change-orders"},
{"method": "POST", "path": "/api/change-orders/{co_id}/void", "summary": "Void Change Order", "tag": "change-orders"},
{"method": "GET", "path": "/api/checks/print", "summary": "Print Check", "tag": "checks"},
{"method": "POST", "path": "/api/checks/print-batch", "summary": "Print Check Batch", "tag": "checks"},
{"method": "GET", "path": "/api/checks/test-print", "summary": "Test Print Check", "tag": "checks"},
{"method": "GET", "path": "/api/checks/unprinted", "summary": "Unprinted Checks", "tag": "checks"},
{"method": "GET", "path": "/api/classes", "summary": "List Classes", "tag": "classes"},
{"method": "POST", "path": "/api/classes", "summary": "Create Class", "tag": "classes"},
{"method": "GET", "path": "/api/classes/activity", "summary": "Classes Activity", "tag": "classes"},
{"method": "GET", "path": "/api/classes/{class_id}", "summary": "Get Class", "tag": "classes"},
{"method": "PUT", "path": "/api/classes/{class_id}", "summary": "Update Class", "tag": "classes"},
{"method": "DELETE", "path": "/api/classes/{class_id}", "summary": "Delete Class", "tag": "classes"},
{"method": "GET", "path": "/api/classes/{class_id}/summary", "summary": "Class Summary", "tag": "classes"},
{"method": "GET", "path": "/api/classes/{class_id}/transactions", "summary": "Class Transactions", "tag": "classes"},
{"method": "GET", "path": "/api/companies", "summary": "Get Companies", "tag": "companies"},
{"method": "POST", "path": "/api/companies", "summary": "New Company", "tag": "companies"},
{"method": "GET", "path": "/api/company-file/encryption", "summary": "Encryption Status", "tag": "company-file"},
{"method": "POST", "path": "/api/company-file/encryption", "summary": "Change Encryption", "tag": "company-file"},
{"method": "POST", "path": "/api/company-file/encryption/recovery-key", "summary": "New Recovery Key", "tag": "company-file"},
{"method": "POST", "path": "/api/construction/setup", "summary": "Setup", "tag": "construction"},
{"method": "GET", "path": "/api/cost-codes", "summary": "List Cost Codes", "tag": "cost-codes"},
{"method": "POST", "path": "/api/cost-codes", "summary": "Create Cost Code", "tag": "cost-codes"},
{"method": "POST", "path": "/api/cost-codes/import", "summary": "Import Codes", "tag": "cost-codes"},
{"method": "POST", "path": "/api/cost-codes/standard", "summary": "Load Standard Cost Codes", "tag": "cost-codes"},
{"method": "GET", "path": "/api/cost-codes/tree", "summary": "Cost Code Tree", "tag": "cost-codes"},
{"method": "PUT", "path": "/api/cost-codes/{code_id}", "summary": "Update Cost Code", "tag": "cost-codes"},
{"method": "DELETE", "path": "/api/cost-codes/{code_id}", "summary": "Delete Cost Code", "tag": "cost-codes"},
{"method": "GET", "path": "/api/cost-types", "summary": "List Cost Types", "tag": "cost-types"},
{"method": "POST", "path": "/api/cost-types", "summary": "Create Cost Type", "tag": "cost-types"},
{"method": "POST", "path": "/api/cost-types/setup-offsets", "summary": "Setup Offset Accounts", "tag": "cost-types"},
{"method": "PUT", "path": "/api/cost-types/{type_id}", "summary": "Update Cost Type", "tag": "cost-types"},
{"method": "DELETE", "path": "/api/cost-types/{type_id}", "summary": "Delete Cost Type", "tag": "cost-types"},
{"method": "GET", "path": "/api/credit-memos", "summary": "List Credit Memos", "tag": "credit_memos"},
{"method": "POST", "path": "/api/credit-memos", "summary": "Create Credit Memo", "tag": "credit_memos"},
{"method": "GET", "path": "/api/credit-memos/{cm_id}", "summary": "Get Credit Memo", "tag": "credit_memos"},
{"method": "POST", "path": "/api/credit-memos/{cm_id}/apply", "summary": "Apply Credit", "tag": "credit_memos"},
{"method": "GET", "path": "/api/credit-memos/{cm_id}/pdf", "summary": "Credit Memo Pdf", "tag": "credit_memos"},
{"method": "GET", "path": "/api/credit-memos/{cm_id}/print-preview", "summary": "Credit Memo Print Preview", "tag": "credit_memos"},
{"method": "POST", "path": "/api/credit-memos/{cm_id}/void", "summary": "Void Credit Memo", "tag": "credit_memos"},
{"method": "GET", "path": "/api/csv/export/accounts", "summary": "Csv Export Accounts", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/bills", "summary": "Csv Export Bills", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/classes", "summary": "Csv Export Classes", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/customers", "summary": "Csv Export Customers", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/deposits", "summary": "Csv Export Deposits", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/invoices", "summary": "Csv Export Invoices", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/items", "summary": "Csv Export Items", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/jobs", "summary": "Csv Export Jobs", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/sales-receipts", "summary": "Csv Export Sales Receipts", "tag": "csv"},
{"method": "GET", "path": "/api/csv/export/vendors", "summary": "Csv Export Vendors", "tag": "csv"},
{"method": "POST", "path": "/api/csv/import/accounts", "summary": "Csv Import Accounts", "tag": "csv"},
{"method": "POST", "path": "/api/csv/import/customers", "summary": "Csv Import Customers", "tag": "csv"},
{"method": "POST", "path": "/api/csv/import/items", "summary": "Csv Import Items", "tag": "csv"},
{"method": "POST", "path": "/api/csv/import/qb-report", "summary": "Csv Import Qb Report", "tag": "csv"},
{"method": "POST", "path": "/api/csv/import/vendors", "summary": "Csv Import Vendors", "tag": "csv"},
{"method": "GET", "path": "/api/customers", "summary": "List Customers", "tag": "customers"},
{"method": "POST", "path": "/api/customers", "summary": "Create Customer", "tag": "customers"},
{"method": "GET", "path": "/api/customers/check-duplicate", "summary": "Check Duplicate", "tag": "customers"},
{"method": "GET", "path": "/api/customers/past", "summary": "Past Customers", "tag": "customers"},
{"method": "GET", "path": "/api/customers/past.csv", "summary": "Past Customers Csv", "tag": "customers"},
{"method": "GET", "path": "/api/customers/past/labels.pdf", "summary": "Past Customers Labels", "tag": "customers"},
{"method": "GET", "path": "/api/customers/{customer_id}", "summary": "Get Customer", "tag": "customers"},
{"method": "PUT", "path": "/api/customers/{customer_id}", "summary": "Update Customer", "tag": "customers"},
{"method": "DELETE", "path": "/api/customers/{customer_id}", "summary": "Delete Customer", "tag": "customers"},
{"method": "GET", "path": "/api/customers/{customer_id}/credits", "summary": "Customer Credits", "tag": "customers"},
{"method": "GET", "path": "/api/customers/{customer_id}/subs", "summary": "Customer Subs", "tag": "customers"},
{"method": "GET", "path": "/api/dashboard/data", "summary": "Widget Data", "tag": "dashboard"},
{"method": "GET", "path": "/api/dashboard/widgets", "summary": "List Widgets", "tag": "dashboard"},
{"method": "GET", "path": "/api/deductions/garnishments", "summary": "List Garnishments", "tag": "deductions"},
{"method": "POST", "path": "/api/deductions/garnishments", "summary": "Create Garnishment", "tag": "deductions"},
{"method": "DELETE", "path": "/api/deductions/garnishments/{order_id}", "summary": "Remove Garnishment", "tag": "deductions"},
{"method": "POST", "path": "/api/deductions/garnishments/{order_id}/end", "summary": "End Garnishment", "tag": "deductions"},
{"method": "GET", "path": "/api/deposits", "summary": "List Deposits", "tag": "deposits"},
{"method": "POST", "path": "/api/deposits", "summary": "Create Deposit", "tag": "deposits"},
{"method": "GET", "path": "/api/deposits/pending", "summary": "List Pending Deposits", "tag": "deposits"},
{"method": "GET", "path": "/api/deposits/{deposit_id}", "summary": "Get Deposit", "tag": "deposits"},
{"method": "PUT", "path": "/api/deposits/{deposit_id}", "summary": "Update Deposit", "tag": "deposits"},
{"method": "GET", "path": "/api/deposits/{deposit_id}/pdf", "summary": "Deposit Pdf", "tag": "deposits"},
{"method": "GET", "path": "/api/deposits/{deposit_id}/print-preview", "summary": "Deposit Print Preview", "tag": "deposits"},
{"method": "POST", "path": "/api/deposits/{deposit_id}/void", "summary": "Void Deposit", "tag": "deposits"},
{"method": "GET", "path": "/api/document-audits", "summary": "List Audits", "tag": "document-audit"},
{"method": "GET", "path": "/api/document-audits/verify/{content_hash}", "summary": "Verify Hash", "tag": "document-audit"},
{"method": "GET", "path": "/api/document-audits/{audit_id}", "summary": "Get Audit", "tag": "document-audit"},
{"method": "GET", "path": "/api/document-audits/{audit_id}/check", "summary": "Check Audit", "tag": "document-audit"},
{"method": "POST", "path": "/api/donors/gifts/{kind}/{gift_id}/acknowledgment/email", "summary": "Acknowledgment Email", "tag": "donors"},
{"method": "GET", "path": "/api/donors/gifts/{kind}/{gift_id}/acknowledgment/pdf", "summary": "Acknowledgment Pdf", "tag": "donors"},
{"method": "GET", "path": "/api/donors/gifts/{kind}/{gift_id}/acknowledgment/preview", "summary": "Acknowledgment Preview", "tag": "donors"},
{"method": "GET", "path": "/api/donors/giving-statement/preview", "summary": "Giving Statement Preview", "tag": "donors"},
{"method": "POST", "path": "/api/donors/giving-statements/batch-email", "summary": "Giving Statements Batch Email", "tag": "donors"},
{"method": "GET", "path": "/api/donors/giving-statements/pdf", "summary": "Giving Statements Pdf", "tag": "donors"},
{"method": "GET", "path": "/api/donors/{customer_id}/giving-statement/pdf", "summary": "Giving Statement Pdf", "tag": "donors"},
{"method": "GET", "path": "/api/email-log", "summary": "List Email Log", "tag": "email_log"},
{"method": "GET", "path": "/api/email-templates", "summary": "List Templates", "tag": "email-templates"},
{"method": "POST", "path": "/api/email-templates", "summary": "Create Template", "tag": "email-templates"},
{"method": "POST", "path": "/api/email-templates/preview", "summary": "Preview Template", "tag": "email-templates"},
{"method": "POST", "path": "/api/email-templates/seed-defaults", "summary": "Seed Defaults", "tag": "email-templates"},
{"method": "GET", "path": "/api/email-templates/{template_id}", "summary": "Get Template", "tag": "email-templates"},
{"method": "PUT", "path": "/api/email-templates/{template_id}", "summary": "Update Template", "tag": "email-templates"},
{"method": "DELETE", "path": "/api/email-templates/{template_id}", "summary": "Delete Template", "tag": "email-templates"},
{"method": "GET", "path": "/api/employees", "summary": "List Employees", "tag": "employees"},
{"method": "POST", "path": "/api/employees", "summary": "Create Employee", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}", "summary": "Get Employee", "tag": "employees"},
{"method": "PUT", "path": "/api/employees/{emp_id}", "summary": "Update Employee", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/bank-accounts", "summary": "List Bank Accounts", "tag": "employees"},
{"method": "POST", "path": "/api/employees/{emp_id}/bank-accounts", "summary": "Add Bank Account", "tag": "employees"},
{"method": "DELETE", "path": "/api/employees/{emp_id}/bank-accounts/{ba_id}", "summary": "Remove Bank Account", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/documents", "summary": "List Employee Documents", "tag": "employees"},
{"method": "POST", "path": "/api/employees/{emp_id}/documents", "summary": "Upload Employee Document", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/documents/{doc_id}", "summary": "Download Employee Document", "tag": "employees"},
{"method": "DELETE", "path": "/api/employees/{emp_id}/documents/{doc_id}", "summary": "Delete Employee Document", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/everify", "summary": "Get Everify", "tag": "employees"},
{"method": "PUT", "path": "/api/employees/{emp_id}/everify", "summary": "Update Everify", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/opening-ytd", "summary": "Get Opening Ytd", "tag": "payroll"},
{"method": "PUT", "path": "/api/employees/{emp_id}/opening-ytd", "summary": "Put Opening Ytd", "tag": "payroll"},
{"method": "DELETE", "path": "/api/employees/{emp_id}/opening-ytd", "summary": "Delete Opening Ytd", "tag": "payroll"},
{"method": "GET", "path": "/api/employees/{emp_id}/portal-access", "summary": "List Portal Access", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/portal-token", "summary": "Get Portal Token", "tag": "employees"},
{"method": "POST", "path": "/api/employees/{emp_id}/portal-token", "summary": "Regenerate Portal Token", "tag": "employees"},
{"method": "GET", "path": "/api/employees/{emp_id}/ytd", "summary": "Get Employee Ytd", "tag": "employees"},
{"method": "GET", "path": "/api/equipment", "summary": "List Equipment", "tag": "equipment"},
{"method": "POST", "path": "/api/equipment", "summary": "Create Equipment", "tag": "equipment"},
{"method": "PUT", "path": "/api/equipment/{eq_id}", "summary": "Update Equipment", "tag": "equipment"},
{"method": "DELETE", "path": "/api/equipment/{eq_id}", "summary": "Delete Equipment", "tag": "equipment"},
{"method": "GET", "path": "/api/estimates", "summary": "List Estimates", "tag": "estimates"},
{"method": "POST", "path": "/api/estimates", "summary": "Create Estimate", "tag": "estimates"},
{"method": "GET", "path": "/api/estimates/{estimate_id}", "summary": "Get Estimate", "tag": "estimates"},
{"method": "PUT", "path": "/api/estimates/{estimate_id}", "summary": "Update Estimate", "tag": "estimates"},
{"method": "POST", "path": "/api/estimates/{estimate_id}/accept", "summary": "Accept Estimate", "tag": "estimates"},
{"method": "POST", "path": "/api/estimates/{estimate_id}/convert", "summary": "Convert To Invoice", "tag": "estimates"},
{"method": "GET", "path": "/api/estimates/{estimate_id}/pdf", "summary": "Estimate Pdf", "tag": "estimates"},
{"method": "GET", "path": "/api/estimates/{estimate_id}/print-preview", "summary": "Estimate Print Preview", "tag": "estimates"},
{"method": "GET", "path": "/api/expenses", "summary": "List Expenses", "tag": "expenses"},
{"method": "POST", "path": "/api/expenses", "summary": "Create Expense", "tag": "expenses"},
{"method": "GET", "path": "/api/expenses/{expense_id}", "summary": "Get Expense", "tag": "expenses"},
{"method": "POST", "path": "/api/expenses/{expense_id}/void", "summary": "Void Expense", "tag": "expenses"},
{"method": "GET", "path": "/api/fixed-assets", "summary": "List Assets", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets", "summary": "Create Asset", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets/import-csv", "summary": "Import Csv", "tag": "fixed_assets"},
{"method": "GET", "path": "/api/fixed-assets/reports/reconciliation", "summary": "Reconciliation", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets/run-depreciation", "summary": "Depreciation Run", "tag": "fixed_assets"},
{"method": "GET", "path": "/api/fixed-assets/types", "summary": "List Types", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets/types", "summary": "Create Type", "tag": "fixed_assets"},
{"method": "PUT", "path": "/api/fixed-assets/types/{type_id}", "summary": "Update Type", "tag": "fixed_assets"},
{"method": "GET", "path": "/api/fixed-assets/{asset_id}", "summary": "Get Asset", "tag": "fixed_assets"},
{"method": "PUT", "path": "/api/fixed-assets/{asset_id}", "summary": "Update Asset", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets/{asset_id}/dispose", "summary": "Dispose", "tag": "fixed_assets"},
{"method": "POST", "path": "/api/fixed-assets/{asset_id}/post-purchase", "summary": "Post Purchase", "tag": "fixed_assets"},
{"method": "GET", "path": "/api/fx/rate", "summary": "Fx Rate", "tag": "fx"},
{"method": "GET", "path": "/api/iif/export/accounts", "summary": "Export Accounts Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/all", "summary": "Export All Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/bill-payments", "summary": "Export Bill Payments Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/bills", "summary": "Export Bills Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/classes", "summary": "Export Classes Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/customers", "summary": "Export Customers Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/deposits", "summary": "Export Deposits Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/estimates", "summary": "Export Estimates Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/invoices", "summary": "Export Invoices Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/items", "summary": "Export Items Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/journal-entries", "summary": "Export Journal Entries Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/payments", "summary": "Export Payments Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/register-entries", "summary": "Export Register Entries Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/sales-receipts", "summary": "Export Sales Receipts Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/transfers", "summary": "Export Transfers Iif", "tag": "iif"},
{"method": "GET", "path": "/api/iif/export/vendors", "summary": "Export Vendors Iif", "tag": "iif"},
{"method": "POST", "path": "/api/iif/import", "summary": "Import Iif", "tag": "iif"},
{"method": "POST", "path": "/api/iif/validate", "summary": "Validate Iif File", "tag": "iif"},
{"method": "GET", "path": "/api/in-kind-gifts", "summary": "List In Kind Gifts", "tag": "in-kind-gifts"},
{"method": "POST", "path": "/api/in-kind-gifts", "summary": "Create In Kind Gift", "tag": "in-kind-gifts"},
{"method": "GET", "path": "/api/in-kind-gifts/{gift_id}", "summary": "Get In Kind Gift", "tag": "in-kind-gifts"},
{"method": "POST", "path": "/api/in-kind-gifts/{gift_id}/void", "summary": "Void In Kind Gift Route", "tag": "in-kind-gifts"},
{"method": "GET", "path": "/api/invoice-messages", "summary": "List Messages", "tag": "invoice-messages"},
{"method": "POST", "path": "/api/invoice-messages", "summary": "Create Message", "tag": "invoice-messages"},
{"method": "PUT", "path": "/api/invoice-messages/{message_id}", "summary": "Update Message", "tag": "invoice-messages"},
{"method": "DELETE", "path": "/api/invoice-messages/{message_id}", "summary": "Delete Message", "tag": "invoice-messages"},
{"method": "GET", "path": "/api/invoices", "summary": "List Invoices", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices", "summary": "Create Invoice", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/apply-late-fees", "summary": "Apply Late Fees", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/write-offs", "summary": "Write Off Batch", "tag": "invoices"},
{"method": "GET", "path": "/api/invoices/write-offs/candidates", "summary": "Write Off Candidates", "tag": "invoices"},
{"method": "GET", "path": "/api/invoices/{invoice_id}", "summary": "Get Invoice", "tag": "invoices"},
{"method": "PUT", "path": "/api/invoices/{invoice_id}", "summary": "Update Invoice", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/duplicate", "summary": "Duplicate Invoice", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/email", "summary": "Email Invoice", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/email-preview", "summary": "Email Invoice Preview", "tag": "invoices"},
{"method": "GET", "path": "/api/invoices/{invoice_id}/pdf", "summary": "Invoice Pdf", "tag": "invoices"},
{"method": "GET", "path": "/api/invoices/{invoice_id}/print-preview", "summary": "Invoice Print Preview", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/send", "summary": "Mark Invoice Sent", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/void", "summary": "Void Invoice", "tag": "invoices"},
{"method": "POST", "path": "/api/invoices/{invoice_id}/write-off", "summary": "Write Off Invoice", "tag": "invoices"},
{"method": "GET", "path": "/api/items", "summary": "List Items", "tag": "items"},
{"method": "POST", "path": "/api/items", "summary": "Create Item", "tag": "items"},
{"method": "GET", "path": "/api/items/low-stock", "summary": "Low Stock Items", "tag": "items"},
{"method": "GET", "path": "/api/items/valuation", "summary": "Inventory Valuation", "tag": "items"},
{"method": "GET", "path": "/api/items/{item_id}", "summary": "Get Item", "tag": "items"},
{"method": "PUT", "path": "/api/items/{item_id}", "summary": "Update Item", "tag": "items"},
{"method": "DELETE", "path": "/api/items/{item_id}", "summary": "Delete Item", "tag": "items"},
{"method": "POST", "path": "/api/items/{item_id}/adjust", "summary": "Adjust Inventory", "tag": "items"},
{"method": "GET", "path": "/api/items/{item_id}/movements", "summary": "List Item Movements", "tag": "items"},
{"method": "GET", "path": "/api/job-costs", "summary": "List Job Costs", "tag": "job-costs"},
{"method": "POST", "path": "/api/job-costs", "summary": "Create Job Cost", "tag": "job-costs"},
{"method": "POST", "path": "/api/job-costs/allocate", "summary": "Allocate", "tag": "job-costs"},
{"method": "GET", "path": "/api/job-costs/{jc_id}", "summary": "Get Job Cost", "tag": "job-costs"},
{"method": "POST", "path": "/api/job-costs/{jc_id}/void", "summary": "Void", "tag": "job-costs"},
{"method": "GET", "path": "/api/jobs", "summary": "List Jobs", "tag": "jobs"},
{"method": "POST", "path": "/api/jobs", "summary": "Create Job", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/budget-vs-actual", "summary": "Jobs Budget Vs Actual", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/profitability", "summary": "Jobs Profitability", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}", "summary": "Get Job", "tag": "jobs"},
{"method": "PUT", "path": "/api/jobs/{job_id}", "summary": "Update Job", "tag": "jobs"},
{"method": "DELETE", "path": "/api/jobs/{job_id}", "summary": "Delete Job", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/budgets", "summary": "Get Job Budgets", "tag": "jobs"},
{"method": "PUT", "path": "/api/jobs/{job_id}/budgets", "summary": "Save Job Budgets", "tag": "jobs"},
{"method": "POST", "path": "/api/jobs/{job_id}/budgets/from-estimate/{estimate_id}", "summary": "Seed Budget From Estimate", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/buyout", "summary": "Get Buyout", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/contract", "summary": "Get Contract", "tag": "jobs"},
{"method": "PUT", "path": "/api/jobs/{job_id}/contract", "summary": "Set Contract", "tag": "jobs"},
{"method": "POST", "path": "/api/jobs/{job_id}/contract/from-estimate/{estimate_id}", "summary": "Contract From Estimate", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/cost-to-complete-forecast", "summary": "Get Cost To Complete Forecast", "tag": "jobs"},
{"method": "PUT", "path": "/api/jobs/{job_id}/cost-to-complete-forecast", "summary": "Save Cost To Complete Forecast", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/cost-tree", "summary": "Get Job Cost Tree", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/deposits", "summary": "List Deposits", "tag": "jobs"},
{"method": "POST", "path": "/api/jobs/{job_id}/deposits", "summary": "Create Deposit", "tag": "jobs"},
{"method": "POST", "path": "/api/jobs/{job_id}/deposits/{deposit_id}/void", "summary": "Void Deposit", "tag": "jobs"},
{"method": "PUT", "path": "/api/jobs/{job_id}/sov", "summary": "Save Sov", "tag": "jobs"},
{"method": "GET", "path": "/api/jobs/{job_id}/transactions", "summary": "Get Job Transactions", "tag": "jobs"},
{"method": "GET", "path": "/api/journal", "summary": "List Journal Entries", "tag": "journal"},
{"method": "POST", "path": "/api/journal", "summary": "Create Manual Journal Entry", "tag": "journal"},
{"method": "GET", "path": "/api/journal/{entry_id}", "summary": "Get Journal Entry", "tag": "journal"},
{"method": "PUT", "path": "/api/journal/{entry_id}", "summary": "Update Journal Entry", "tag": "journal"},
{"method": "POST", "path": "/api/journal/{entry_id}/void", "summary": "Void Journal Entry", "tag": "journal"},
{"method": "GET", "path": "/api/lien-waivers", "summary": "List Lien Waivers", "tag": "lien-waivers"},
{"method": "POST", "path": "/api/lien-waivers", "summary": "Create Lien Waiver", "tag": "lien-waivers"},
{"method": "GET", "path": "/api/lien-waivers/{waiver_id}/pdf", "summary": "Lien Waiver Pdf", "tag": "lien-waivers"},
{"method": "GET", "path": "/api/memorized", "summary": "List Schedules", "tag": "memorized"},
{"method": "POST", "path": "/api/memorized", "summary": "Create Memorized", "tag": "memorized"},
{"method": "GET", "path": "/api/memorized/due", "summary": "List Due", "tag": "memorized"},
{"method": "POST", "path": "/api/memorized/enter-due", "summary": "Enter Due", "tag": "memorized"},
{"method": "GET", "path": "/api/memorized/entered-recently", "summary": "Entered Recently", "tag": "memorized"},
{"method": "GET", "path": "/api/memorized/{mem_id}", "summary": "Get Memorized", "tag": "memorized"},
{"method": "PUT", "path": "/api/memorized/{mem_id}", "summary": "Update Memorized", "tag": "memorized"},
{"method": "DELETE", "path": "/api/memorized/{mem_id}", "summary": "Delete Memorized", "tag": "memorized"},
{"method": "POST", "path": "/api/memorized/{mem_id}/enter", "summary": "Enter Now", "tag": "memorized"},
{"method": "POST", "path": "/api/memorized/{mem_id}/pause", "summary": "Pause Memorized", "tag": "memorized"},
{"method": "POST", "path": "/api/memorized/{mem_id}/resume", "summary": "Resume Memorized", "tag": "memorized"},
{"method": "POST", "path": "/api/mercury/connect", "summary": "Connect", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/disconnect", "summary": "Disconnect", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/map", "summary": "Save Mapping", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/refresh", "summary": "Refresh", "tag": "mercury"},
{"method": "GET", "path": "/api/mercury/status", "summary": "Status", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/sync", "summary": "Sync", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/webhook", "summary": "Receive Webhook", "tag": "mercury"},
{"method": "POST", "path": "/api/mercury/webhook-settings", "summary": "Configure Webhook", "tag": "mercury"},
{"method": "DELETE", "path": "/api/mercury/webhook-settings", "summary": "Disable Webhook", "tag": "mercury"},
{"method": "GET", "path": "/api/migration/sources", "summary": "List Sources", "tag": "migration"},
{"method": "POST", "path": "/api/migration/{source}/dry-run", "summary": "Migration Dry Run", "tag": "migration"},
{"method": "POST", "path": "/api/migration/{source}/import", "summary": "Migration Import", "tag": "migration"},
{"method": "GET", "path": "/api/nonprofit/allocation-rules", "summary": "List Allocation Rules", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/allocation-rules", "summary": "Create Allocation Rule", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/allocation-rules/{rule_id}", "summary": "Get Allocation Rule", "tag": "nonprofit"},
{"method": "PUT", "path": "/api/nonprofit/allocation-rules/{rule_id}", "summary": "Update Allocation Rule", "tag": "nonprofit"},
{"method": "DELETE", "path": "/api/nonprofit/allocation-rules/{rule_id}", "summary": "Delete Allocation Rule", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/allocation-rules/{rule_id}/preview", "summary": "Preview Allocation", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/allocation-rules/{rule_id}/split", "summary": "Split By Rule", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/allocations", "summary": "List Allocations", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/allocations", "summary": "Create Allocation", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/allocations/{fa_id}", "summary": "Get Allocation", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/allocations/{fa_id}/void", "summary": "Void Allocation", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/releases", "summary": "List Releases", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/releases", "summary": "Create Release", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/releases/suggest", "summary": "Suggest Release", "tag": "nonprofit"},
{"method": "GET", "path": "/api/nonprofit/releases/{rel_id}", "summary": "Get Release", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/releases/{rel_id}/void", "summary": "Void Release Route", "tag": "nonprofit"},
{"method": "POST", "path": "/api/nonprofit/setup-accounts", "summary": "Setup Accounts", "tag": "nonprofit"},
{"method": "DELETE", "path": "/api/ocr/intake/{intake_id}", "summary": "Discard Intake", "tag": "ocr"},
{"method": "POST", "path": "/api/ocr/intake/{intake_id}/attach", "summary": "Attach Intake", "tag": "ocr"},
{"method": "GET", "path": "/api/ocr/intake/{intake_id}/image", "summary": "Intake Image", "tag": "ocr"},
{"method": "POST", "path": "/api/ocr/intake/{intake_id}/region", "summary": "Ocr Intake Region", "tag": "ocr"},
{"method": "POST", "path": "/api/ocr/receipt", "summary": "Scan Receipt", "tag": "ocr"},
{"method": "GET", "path": "/api/ocr/status", "summary": "Ocr Status", "tag": "ocr"},
{"method": "POST", "path": "/api/onboarding/tasks", "summary": "Create Task", "tag": "onboarding"},
{"method": "PUT", "path": "/api/onboarding/tasks/{task_id}", "summary": "Update Task", "tag": "onboarding"},
{"method": "POST", "path": "/api/onboarding/tasks/{task_id}/complete", "summary": "Complete Task", "tag": "onboarding"},
{"method": "GET", "path": "/api/onboarding/{emp_id}", "summary": "Get Checklist", "tag": "onboarding"},
{"method": "GET", "path": "/api/onboarding/{emp_id}/new-hire-report", "summary": "New Hire Report", "tag": "onboarding"},
{"method": "GET", "path": "/api/onboarding/{emp_id}/new-hire-report/pdf", "summary": "New Hire Report Pdf", "tag": "onboarding"},
{"method": "POST", "path": "/api/onboarding/{emp_id}/seed", "summary": "Seed Checklist", "tag": "onboarding"},
{"method": "POST", "path": "/api/opening-balances", "summary": "Create Opening Balances", "tag": "opening_balances"},
{"method": "GET", "path": "/api/opening-balances/status", "summary": "Status", "tag": "opening_balances"},
{"method": "GET", "path": "/api/pay-applications", "summary": "List Pay Applications", "tag": "pay-applications"},
{"method": "POST", "path": "/api/pay-applications", "summary": "Create Pay Application", "tag": "pay-applications"},
{"method": "GET", "path": "/api/pay-applications/{app_id}", "summary": "Get Pay Application", "tag": "pay-applications"},
{"method": "PUT", "path": "/api/pay-applications/{app_id}", "summary": "Update Pay Application", "tag": "pay-applications"},
{"method": "POST", "path": "/api/pay-applications/{app_id}/approve", "summary": "Approve Pay Application", "tag": "pay-applications"},
{"method": "GET", "path": "/api/pay-applications/{app_id}/payments", "summary": "Pay Application Payments", "tag": "pay-applications"},
{"method": "GET", "path": "/api/pay-applications/{app_id}/pdf", "summary": "Pay Application Pdf", "tag": "pay-applications"},
{"method": "POST", "path": "/api/pay-applications/{app_id}/submit", "summary": "Submit Pay Application", "tag": "pay-applications"},
{"method": "POST", "path": "/api/pay-applications/{app_id}/void", "summary": "Void Pay Application", "tag": "pay-applications"},
{"method": "GET", "path": "/api/payments", "summary": "List Payments", "tag": "payments"},
{"method": "POST", "path": "/api/payments", "summary": "Create Payment", "tag": "payments"},
{"method": "GET", "path": "/api/payments/payment-link/{invoice_id}", "summary": "Get Payment Link", "tag": "payments"},
{"method": "POST", "path": "/api/payments/payment-link/{invoice_id}", "summary": "Make Payment Link", "tag": "payments"},
{"method": "GET", "path": "/api/payments/{payment_id}", "summary": "Get Payment", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{payment_id}/apply", "summary": "Apply Payment", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{payment_id}/void", "summary": "Void Payment", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{provider_name}/check-status/{invoice_id}", "summary": "Check Status", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{provider_name}/create-checkout-session", "summary": "Create Checkout", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{provider_name}/payout", "summary": "Record Payout", "tag": "payments"},
{"method": "POST", "path": "/api/payments/{provider_name}/webhook", "summary": "Provider Webhook", "tag": "payments"},
{"method": "GET", "path": "/api/payroll", "summary": "List Pay Runs", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll", "summary": "Create Pay Run", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/940/{year}", "summary": "Generate Form 940", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/forms/940/{year}/pdf", "summary": "Generate Form 940 Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/940/{year}/pdf", "summary": "Generate Form 940 Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/941/{year}/{quarter}", "summary": "Generate Form 941", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/forms/941/{year}/{quarter}/pdf", "summary": "Generate Form 941 Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/941/{year}/{quarter}/pdf", "summary": "Generate Form 941 Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/w2/{emp_id}", "summary": "Generate W2 Form", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/forms/w2/{emp_id}/pdf", "summary": "Generate W2 Form Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/w2/{emp_id}/pdf", "summary": "Generate W2 Form Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/w3/{year}", "summary": "Generate W3 Form", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/forms/w3/{year}/pdf", "summary": "Generate W3 Form Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/forms/w3/{year}/pdf", "summary": "Generate W3 Form Pdf", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/gross-up", "summary": "Gross Up Paycheck", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/opening-ytd", "summary": "List Opening Ytd", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/opening-ytd/import", "summary": "Import Opening Ytd", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/opening-ytd/template", "summary": "Opening Ytd Template", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/states", "summary": "Payroll States", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/{run_id}", "summary": "Get Pay Run", "tag": "payroll"},
{"method": "DELETE", "path": "/api/payroll/{run_id}", "summary": "Discard Pay Run", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/{run_id}/nacha", "summary": "Download Nacha", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/{run_id}/nacha", "summary": "Export Nacha", "tag": "payroll"},
{"method": "GET", "path": "/api/payroll/{run_id}/paystub/{stub_id}", "summary": "Download Paystub", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/{run_id}/process", "summary": "Process Pay Run", "tag": "payroll"},
{"method": "POST", "path": "/api/payroll/{run_id}/void", "summary": "Void Pay Run", "tag": "payroll"},
{"method": "GET", "path": "/api/preferences/{key}", "summary": "Get Preference", "tag": "preferences"},
{"method": "PUT", "path": "/api/preferences/{key}", "summary": "Put Preference", "tag": "preferences"},
{"method": "DELETE", "path": "/api/preferences/{key}", "summary": "Delete Preference", "tag": "preferences"},
{"method": "GET", "path": "/api/pto/accruals", "summary": "List Accruals", "tag": "pto"},
{"method": "POST", "path": "/api/pto/accruals", "summary": "Create Accrual", "tag": "pto"},
{"method": "POST", "path": "/api/pto/accruals/year-end-carryover", "summary": "Year End Carryover", "tag": "pto"},
{"method": "POST", "path": "/api/pto/accruals/{accrual_id}/accrue", "summary": "Run Accrual", "tag": "pto"},
{"method": "POST", "path": "/api/pto/accruals/{accrual_id}/revalue", "summary": "Revalue Accrual", "tag": "pto"},
{"method": "GET", "path": "/api/pto/policies", "summary": "List Policies", "tag": "pto"},
{"method": "POST", "path": "/api/pto/policies", "summary": "Create Policy", "tag": "pto"},
{"method": "GET", "path": "/api/pto/policies/{policy_id}", "summary": "Get Policy", "tag": "pto"},
{"method": "PUT", "path": "/api/pto/policies/{policy_id}", "summary": "Update Policy", "tag": "pto"},
{"method": "GET", "path": "/api/pto/requests", "summary": "List Requests", "tag": "pto"},
{"method": "POST", "path": "/api/pto/requests", "summary": "Create Request", "tag": "pto"},
{"method": "POST", "path": "/api/pto/requests/{request_id}/approve", "summary": "Approve Request", "tag": "pto"},
{"method": "POST", "path": "/api/pto/requests/{request_id}/cancel", "summary": "Cancel Request", "tag": "pto"},
{"method": "POST", "path": "/api/pto/requests/{request_id}/decision", "summary": "Decide Request", "tag": "pto"},
{"method": "POST", "path": "/api/pto/requests/{request_id}/reject", "summary": "Reject Request", "tag": "pto"},
{"method": "GET", "path": "/api/purchase-orders", "summary": "List Pos", "tag": "purchase_orders"},
{"method": "POST", "path": "/api/purchase-orders", "summary": "Create Po", "tag": "purchase_orders"},
{"method": "GET", "path": "/api/purchase-orders/{po_id}", "summary": "Get Po", "tag": "purchase_orders"},
{"method": "PUT", "path": "/api/purchase-orders/{po_id}", "summary": "Update Po", "tag": "purchase_orders"},
{"method": "POST", "path": "/api/purchase-orders/{po_id}/convert-to-bill", "summary": "Convert To Bill", "tag": "purchase_orders"},
{"method": "GET", "path": "/api/purchase-orders/{po_id}/pay-app", "summary": "Commitment Pay App", "tag": "purchase_orders"},
{"method": "GET", "path": "/api/purchase-orders/{po_id}/pdf", "summary": "Po Pdf", "tag": "purchase_orders"},
{"method": "GET", "path": "/api/purchase-orders/{po_id}/print-preview", "summary": "Po Print Preview", "tag": "purchase_orders"},
{"method": "POST", "path": "/api/purchase-orders/{po_id}/release-retainage", "summary": "Release Retainage", "tag": "purchase_orders"},
{"method": "POST", "path": "/api/reclassify", "summary": "Reclassify", "tag": "reclassify"},
{"method": "GET", "path": "/api/reclassify/lines", "summary": "Lines", "tag": "reclassify"},
{"method": "GET", "path": "/api/recurring", "summary": "List Recurring", "tag": "recurring"},
{"method": "POST", "path": "/api/recurring", "summary": "Create Recurring", "tag": "recurring"},
{"method": "POST", "path": "/api/recurring/generate", "summary": "Generate Now", "tag": "recurring"},
{"method": "GET", "path": "/api/recurring/{rec_id}", "summary": "Get Recurring", "tag": "recurring"},
{"method": "PUT", "path": "/api/recurring/{rec_id}", "summary": "Update Recurring", "tag": "recurring"},
{"method": "DELETE", "path": "/api/recurring/{rec_id}", "summary": "Delete Recurring", "tag": "recurring"},
{"method": "POST", "path": "/api/recurring/{rec_id}/generate", "summary": "Generate One", "tag": "recurring"},
{"method": "GET", "path": "/api/reports/1099-summary", "summary": "Report 1099 Summary", "tag": "reports"},
{"method": "GET", "path": "/api/reports/account-transactions", "summary": "Account Transactions", "tag": "reports"},
{"method": "GET", "path": "/api/reports/account-transactions/csv", "summary": "Account Transactions Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/account-transactions/pdf", "summary": "Account Transactions Pdf Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/accountants-package", "summary": "Accountants Package", "tag": "reports"},
{"method": "GET", "path": "/api/reports/accountants-package/manifest", "summary": "Accountants Package Manifest", "tag": "reports"},
{"method": "GET", "path": "/api/reports/adjusting-entries", "summary": "Adjusting Entries", "tag": "reports"},
{"method": "GET", "path": "/api/reports/adjusting-entries/csv", "summary": "Adjusting Entries Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/adjusting-entries/pdf", "summary": "Adjusting Entries Pdf Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/ap-aging", "summary": "Ap Aging", "tag": "reports"},
{"method": "GET", "path": "/api/reports/ap-aging/csv", "summary": "Ap Aging Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/ar-aging", "summary": "Ar Aging", "tag": "reports"},
{"method": "GET", "path": "/api/reports/ar-aging/csv", "summary": "Ar Aging Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/balance-sheet", "summary": "Balance Sheet", "tag": "reports"},
{"method": "GET", "path": "/api/reports/balance-sheet/csv", "summary": "Balance Sheet Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/balance-sheet/pdf", "summary": "Balance Sheet Pdf", "tag": "reports"},
{"method": "POST", "path": "/api/reports/batch-email-statements", "summary": "Batch Email Statements", "tag": "reports"},
{"method": "GET", "path": "/api/reports/buyout", "summary": "Buyout Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/buyout/csv", "summary": "Buyout Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/buyout/pdf", "summary": "Buyout Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cash-flow", "summary": "Cash Flow", "tag": "reports"},
{"method": "GET", "path": "/api/reports/change-order-log", "summary": "Change Order Log Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/change-order-log/csv", "summary": "Change Order Log Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/change-order-log/pdf", "summary": "Change Order Log Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/closing-date-exceptions", "summary": "Closing Date Exceptions Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/closing-date-exceptions/csv", "summary": "Closing Date Exceptions Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/closing-date-exceptions/pdf", "summary": "Closing Date Exceptions Pdf Route", "tag": "reports"},
{"method": "POST", "path": "/api/reports/collection-letters", "summary": "Collection Letters", "tag": "reports"},
{"method": "GET", "path": "/api/reports/commitment-status", "summary": "Commitment Status Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/commitment-status/csv", "summary": "Commitment Status Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/commitment-status/pdf", "summary": "Commitment Status Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete", "summary": "Cost To Complete Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete-forecast", "summary": "Cost To Complete Forecast Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete-forecast/csv", "summary": "Cost To Complete Forecast Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete-forecast/pdf", "summary": "Cost To Complete Forecast Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete/csv", "summary": "Cost To Complete Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/cost-to-complete/pdf", "summary": "Cost To Complete Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/customer-statement/{customer_id}/pdf", "summary": "Customer Statement Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/financial-statements/pdf", "summary": "Financial Statements Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/functional-expenses", "summary": "Functional Expenses", "tag": "reports"},
{"method": "GET", "path": "/api/reports/functional-expenses/csv", "summary": "Functional Expenses Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/functional-expenses/pdf", "summary": "Functional Expenses Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/fund-balances", "summary": "Fund Balances", "tag": "reports"},
{"method": "GET", "path": "/api/reports/fund-balances/csv", "summary": "Fund Balances Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/fund-balances/pdf", "summary": "Fund Balances Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/general-ledger", "summary": "General Ledger", "tag": "reports"},
{"method": "GET", "path": "/api/reports/general-ledger/csv", "summary": "General Ledger Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/general-ledger/pdf", "summary": "General Ledger Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/income-by-customer", "summary": "Income By Customer", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-budget-vs-actual/csv", "summary": "Job Budget Vs Actual Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-budget-vs-actual/pdf", "summary": "Job Budget Vs Actual Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-cost-by-vendor", "summary": "Job Cost By Vendor Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-cost-by-vendor/csv", "summary": "Job Cost By Vendor Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-cost-by-vendor/pdf", "summary": "Job Cost By Vendor Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-profitability", "summary": "Job Profitability Report", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-profitability/csv", "summary": "Job Profitability Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/job-profitability/pdf", "summary": "Job Profitability Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/pledges", "summary": "Pledges", "tag": "reports"},
{"method": "GET", "path": "/api/reports/pledges/csv", "summary": "Pledges Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/pledges/pdf", "summary": "Pledges Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/possible-duplicates", "summary": "Possible Duplicates Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/possible-duplicates/csv", "summary": "Possible Duplicates Csv Route", "tag": "reports"},
{"method": "POST", "path": "/api/reports/possible-duplicates/dismiss", "summary": "Dismiss Possible Duplicate", "tag": "reports"},
{"method": "DELETE", "path": "/api/reports/possible-duplicates/dismissals/{dismissal_id}", "summary": "Restore Possible Duplicate", "tag": "reports"},
{"method": "GET", "path": "/api/reports/possible-duplicates/pdf", "summary": "Possible Duplicates Pdf Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss", "summary": "Profit Loss", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-class", "summary": "Profit Loss By Class", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-class/csv", "summary": "Profit Loss By Class Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-class/pdf", "summary": "Profit Loss By Class Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-job", "summary": "Profit Loss By Job", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-job/csv", "summary": "Profit Loss By Job Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-by-job/pdf", "summary": "Profit Loss By Job Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-detail", "summary": "Profit Loss Detail", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-detail/csv", "summary": "Profit Loss Detail Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss-detail/pdf", "summary": "Profit Loss Detail Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss/csv", "summary": "Profit Loss Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/profit-loss/pdf", "summary": "Profit Loss Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/purchases-by-item", "summary": "Purchases By Item", "tag": "reports"},
{"method": "GET", "path": "/api/reports/purchases-by-item/csv", "summary": "Purchases By Item Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/purchases-by-item/lines", "summary": "Purchases By Item Lines", "tag": "reports"},
{"method": "GET", "path": "/api/reports/purchases-by-item/pdf", "summary": "Purchases By Item Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/sales-by-item", "summary": "Sales By Item", "tag": "reports"},
{"method": "GET", "path": "/api/reports/sales-by-item/csv", "summary": "Sales By Item Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/sales-by-item/lines", "summary": "Sales By Item Lines", "tag": "reports"},
{"method": "GET", "path": "/api/reports/sales-by-item/pdf", "summary": "Sales By Item Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/sales-tax", "summary": "Sales Tax Report", "tag": "reports"},
{"method": "POST", "path": "/api/reports/sales-tax/pay", "summary": "Pay Sales Tax", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-activities", "summary": "Statement Of Activities", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-activities/csv", "summary": "Statement Of Activities Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-activities/pdf", "summary": "Statement Of Activities Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-financial-position", "summary": "Statement Of Financial Position", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-financial-position/csv", "summary": "Statement Of Financial Position Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/statement-of-financial-position/pdf", "summary": "Statement Of Financial Position Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/trial-balance", "summary": "Trial Balance", "tag": "reports"},
{"method": "GET", "path": "/api/reports/trial-balance/csv", "summary": "Trial Balance Csv Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/trial-balance/pdf", "summary": "Trial Balance Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reports/wip-schedule", "summary": "Wip Schedule Route", "tag": "reports"},
{"method": "GET", "path": "/api/reports/wip-schedule/csv", "summary": "Wip Schedule Csv", "tag": "reports"},
{"method": "GET", "path": "/api/reports/wip-schedule/pdf", "summary": "Wip Schedule Pdf", "tag": "reports"},
{"method": "GET", "path": "/api/reseller-permits", "summary": "List Permits", "tag": "reseller-permits"},
{"method": "POST", "path": "/api/reseller-permits", "summary": "Create Permit", "tag": "reseller-permits"},
{"method": "GET", "path": "/api/reseller-permits/expiring", "summary": "Expiring Permits", "tag": "reseller-permits"},
{"method": "GET", "path": "/api/reseller-permits/validate-format", "summary": "Validate Format", "tag": "reseller-permits"},
{"method": "GET", "path": "/api/reseller-permits/{permit_id}", "summary": "Get Permit", "tag": "reseller-permits"},
{"method": "PUT", "path": "/api/reseller-permits/{permit_id}", "summary": "Update Permit", "tag": "reseller-permits"},
{"method": "DELETE", "path": "/api/reseller-permits/{permit_id}", "summary": "Delete Permit", "tag": "reseller-permits"},
{"method": "POST", "path": "/api/reseller-permits/{permit_id}/mark-verified", "summary": "Mark Verified", "tag": "reseller-permits"},
{"method": "GET", "path": "/api/sales-receipts", "summary": "List Sales Receipts", "tag": "sales-receipts"},
{"method": "POST", "path": "/api/sales-receipts", "summary": "Create Sales Receipt", "tag": "sales-receipts"},
{"method": "GET", "path": "/api/saved-reports", "summary": "List Saved Reports", "tag": "saved-reports"},
{"method": "POST", "path": "/api/saved-reports", "summary": "Create Saved Report", "tag": "saved-reports"},
{"method": "GET", "path": "/api/saved-reports/{report_id}", "summary": "Get Saved Report", "tag": "saved-reports"},
{"method": "PUT", "path": "/api/saved-reports/{report_id}", "summary": "Update Saved Report", "tag": "saved-reports"},
{"method": "DELETE", "path": "/api/saved-reports/{report_id}", "summary": "Delete Saved Report", "tag": "saved-reports"},
{"method": "GET", "path": "/api/search", "summary": "Unified Search", "tag": "search"},
{"method": "GET", "path": "/api/settings", "summary": "Get Settings", "tag": "settings"},
{"method": "PUT", "path": "/api/settings", "summary": "Update Settings", "tag": "settings"},
{"method": "GET", "path": "/api/settings/payroll-accounts", "summary": "Get Payroll Accounts", "tag": "settings"},
{"method": "POST", "path": "/api/settings/test-email", "summary": "Test Email", "tag": "settings"},
{"method": "GET", "path": "/api/settings/unreadable-secrets", "summary": "Get Unreadable Secrets", "tag": "settings"},
{"method": "POST", "path": "/api/simplefin/claim", "summary": "Claim", "tag": "simplefin"},
{"method": "POST", "path": "/api/simplefin/disconnect", "summary": "Disconnect", "tag": "simplefin"},
{"method": "POST", "path": "/api/simplefin/map", "summary": "Save Mapping", "tag": "simplefin"},
{"method": "GET", "path": "/api/simplefin/status", "summary": "Status", "tag": "simplefin"},
{"method": "POST", "path": "/api/simplefin/sync", "summary": "Sync", "tag": "simplefin"},
{"method": "POST", "path": "/api/stripe/webhook", "summary": "Legacy Stripe Webhook", "tag": "payments"},
{"method": "GET", "path": "/api/support/diagnostics", "summary": "Diagnostics", "tag": "support"},
{"method": "POST", "path": "/api/support/reveal-log", "summary": "Reveal Log", "tag": "support"},
{"method": "GET", "path": "/api/system", "summary": "System Info", "tag": "system"},
{"method": "GET", "path": "/api/system/update-check", "summary": "Update Check", "tag": "system"},
{"method": "GET", "path": "/api/tax-forms/1096/pdf", "summary": "Get 1096 Pdf", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/1099", "summary": "Get 1099", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/1099/{vendor_id}/pdf", "summary": "Get 1099 Pdf", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/940", "summary": "Get 940", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/940/pdf", "summary": "Get 940 Pdf", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/941", "summary": "Get 941", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/941/pdf", "summary": "Get 941 Pdf", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/liability", "summary": "Get Tax Liability", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/sui", "summary": "Get Sui", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/w2", "summary": "Get All W2", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/w2/{employee_id}", "summary": "Get W2", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax-forms/w2/{employee_id}/pdf", "summary": "Get W2 Pdf", "tag": "tax-forms"},
{"method": "GET", "path": "/api/tax/mappings", "summary": "List Mappings", "tag": "tax"},
{"method": "POST", "path": "/api/tax/mappings", "summary": "Create Mapping", "tag": "tax"},
{"method": "GET", "path": "/api/tax/return", "summary": "Entity Return Report", "tag": "tax"},
{"method": "GET", "path": "/api/tax/return/csv", "summary": "Entity Return Csv", "tag": "tax"},
{"method": "GET", "path": "/api/tax/schedule-c", "summary": "Schedule C Report", "tag": "tax"},
{"method": "GET", "path": "/api/tax/schedule-c/csv", "summary": "Schedule C Csv", "tag": "tax"},
{"method": "GET", "path": "/api/time-entries", "summary": "List Time Entries", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries", "summary": "Create Time Entry", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/classify", "summary": "Classify Hours", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/post-to-job", "summary": "Post Entries To Job", "tag": "time-entries"},
{"method": "GET", "path": "/api/time-entries/summary", "summary": "Pay Period Summary", "tag": "time-entries"},
{"method": "PUT", "path": "/api/time-entries/{entry_id}", "summary": "Update Time Entry", "tag": "time-entries"},
{"method": "DELETE", "path": "/api/time-entries/{entry_id}", "summary": "Delete Time Entry", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/{entry_id}/approve", "summary": "Approve Time Entry", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/{entry_id}/post-to-job", "summary": "Post Entry To Job", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/{entry_id}/reject", "summary": "Reject Time Entry", "tag": "time-entries"},
{"method": "POST", "path": "/api/time-entries/{entry_id}/submit", "summary": "Submit Time Entry", "tag": "time-entries"},
{"method": "GET", "path": "/api/tokens", "summary": "List Tokens", "tag": "api_tokens"},
{"method": "POST", "path": "/api/tokens", "summary": "Create Token", "tag": "api_tokens"},
{"method": "PUT", "path": "/api/tokens/{token_id}", "summary": "Update Token", "tag": "api_tokens"},
{"method": "GET", "path": "/api/trade-packages", "summary": "List Trade Packages", "tag": "trade-packages"},
{"method": "POST", "path": "/api/trade-packages", "summary": "Create Trade Package", "tag": "trade-packages"},
{"method": "PUT", "path": "/api/trade-packages/{package_id}", "summary": "Update Trade Package", "tag": "trade-packages"},
{"method": "DELETE", "path": "/api/trade-packages/{package_id}", "summary": "Delete Trade Package", "tag": "trade-packages"},
{"method": "GET", "path": "/api/transfers", "summary": "List Transfers", "tag": "transfers"},
{"method": "POST", "path": "/api/transfers", "summary": "Create Transfer", "tag": "transfers"},
{"method": "POST", "path": "/api/transfers/{transfer_id}/void", "summary": "Void Transfer", "tag": "transfers"},
{"method": "GET", "path": "/api/uploads/legacy", "summary": "Legacy Folder", "tag": "uploads"},
{"method": "DELETE", "path": "/api/uploads/legacy", "summary": "Remove Legacy Folder", "tag": "uploads"},
{"method": "GET", "path": "/api/uploads/logo", "summary": "Logo Info", "tag": "uploads"},
{"method": "POST", "path": "/api/uploads/logo", "summary": "Upload Logo", "tag": "uploads"},
{"method": "DELETE", "path": "/api/uploads/logo", "summary": "Remove Logo", "tag": "uploads"},
{"method": "GET", "path": "/api/uploads/logo/{file_id}", "summary": "Logo Image", "tag": "uploads"},
{"method": "GET", "path": "/api/users", "summary": "List Users", "tag": "users"},
{"method": "POST", "path": "/api/users", "summary": "Create User", "tag": "users"},
{"method": "POST", "path": "/api/users/invite", "summary": "Invite User", "tag": "users"},
{"method": "PUT", "path": "/api/users/{user_id}", "summary": "Update User", "tag": "users"},
{"method": "GET", "path": "/api/vendor-credits", "summary": "List Vendor Credits", "tag": "vendor_credits"},
{"method": "POST", "path": "/api/vendor-credits", "summary": "Create Vendor Credit", "tag": "vendor_credits"},
{"method": "GET", "path": "/api/vendor-credits/{vc_id}", "summary": "Get Vendor Credit", "tag": "vendor_credits"},
{"method": "POST", "path": "/api/vendor-credits/{vc_id}/apply", "summary": "Apply Vendor Credit", "tag": "vendor_credits"},
{"method": "POST", "path": "/api/vendor-credits/{vc_id}/void", "summary": "Void Vendor Credit", "tag": "vendor_credits"},
{"method": "GET", "path": "/api/vendors", "summary": "List Vendors", "tag": "vendors"},
{"method": "POST", "path": "/api/vendors", "summary": "Create Vendor", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/check-duplicate", "summary": "Check Duplicate", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/{vendor_id}", "summary": "Get Vendor", "tag": "vendors"},
{"method": "PUT", "path": "/api/vendors/{vendor_id}", "summary": "Update Vendor", "tag": "vendors"},
{"method": "DELETE", "path": "/api/vendors/{vendor_id}", "summary": "Delete Vendor", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/{vendor_id}/bank-entries", "summary": "Vendor Bank Entries", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/{vendor_id}/payment-history", "summary": "Vendor Payment History Route", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/{vendor_id}/payments/csv", "summary": "Vendor Payments Csv", "tag": "vendors"},
{"method": "GET", "path": "/api/vendors/{vendor_id}/summary", "summary": "Vendor Summary", "tag": "vendors"},
{"method": "GET", "path": "/health", "summary": "Health Check", "tag": ""},
{"method": "GET", "path": "/pay/{token}", "summary": "Public Payment Page", "tag": "public"},
{"method": "GET", "path": "/portal/", "summary": "Portal Dashboard", "tag": "portal"},
{"method": "GET", "path": "/portal/bank", "summary": "Portal Bank", "tag": "portal"},
{"method": "POST", "path": "/portal/bank", "summary": "Portal Bank Add", "tag": "portal"},
{"method": "GET", "path": "/portal/favicon.ico", "summary": "Portal Favicon", "tag": "portal"},
{"method": "GET", "path": "/portal/logo", "summary": "Portal Logo", "tag": "portal"},
{"method": "POST", "path": "/portal/logout", "summary": "Portal Logout", "tag": "portal"},
{"method": "GET", "path": "/portal/paystubs", "summary": "Portal Paystubs", "tag": "portal"},
{"method": "GET", "path": "/portal/profile", "summary": "Portal Profile", "tag": "portal"},
{"method": "POST", "path": "/portal/profile", "summary": "Portal Profile Save", "tag": "portal"},
{"method": "GET", "path": "/portal/pto", "summary": "Portal Pto", "tag": "portal"},
{"method": "POST", "path": "/portal/pto", "summary": "Portal Pto Request", "tag": "portal"},
{"method": "POST", "path": "/portal/pto/{request_id}/withdraw", "summary": "Portal Pto Withdraw", "tag": "portal"},
{"method": "GET", "path": "/portal/{token}", "summary": "Portal Claim Dashboard", "tag": "portal"},
{"method": "GET", "path": "/portal/{token}/bank", "summary": "Portal Claim Bank", "tag": "portal"},
{"method": "POST", "path": "/portal/{token}/bank", "summary": "Portal Claim Bank Add", "tag": "portal"},
{"method": "GET", "path": "/portal/{token}/paystubs", "summary": "Portal Claim Paystubs", "tag": "portal"},
{"method": "GET", "path": "/portal/{token}/profile", "summary": "Portal Claim Profile", "tag": "portal"},
{"method": "POST", "path": "/portal/{token}/profile", "summary": "Portal Claim Profile Save", "tag": "portal"},
{"method": "GET", "path": "/portal/{token}/pto", "summary": "Portal Claim Pto", "tag": "portal"},
{"method": "POST", "path": "/portal/{token}/pto", "summary": "Portal Claim Pto Request", "tag": "portal"}
]}
