# DualEntry Public API Version: 1.0.0 ## Servers Production environment ``` https://api.dualentry.com ``` Development environment (for testing) ``` https://api-dev.dualentry.com ``` ## Download OpenAPI description [DualEntry Public API](https://docs.dualentry.com/_bundle/resources.yaml) ## Health Monitor API availability and service status. Use these endpoints to verify connectivity and check if the API is operational. ### API Health Check - [GET /public/health/](https://docs.dualentry.com/resources/health/core_api_public_public_router_health_check.md): Verify that the DualEntry Public API is operational and accepting requests. This endpoint provides a quick way to: - Confirm API connectivity - Validate that your API key is working correctly - Check service availability for monitoring and uptime tracking Response includes: - status: Current health status of the API - timestamp: Current server time in ISO 8601 format Note: This endpoint is rate-limited like all other API endpoints. For high-frequency monitoring, consider using a dedicated monitoring service or increasing your rate limit. ## Accounts Manage your chart of accounts. Create and maintain the accounts used to categorize financial transactions, including assets, liabilities, equity, revenue, and expenses. ### List accounts - [GET /public/v1/accounts/](https://docs.dualentry.com/resources/accounts/core_api_public_accounts_list_accounts.md): Retrieve a paginated list of chart of accounts with filtering and search capabilities. ### Get account - [GET /public/v1/accounts/{account_number}/](https://docs.dualentry.com/resources/accounts/core_api_public_accounts_get_account.md): Retrieve a specific account by number with all related data including company access. ## Items Manage products and services. Define items that appear on invoices and bills, including pricing, descriptions, and associated accounts for revenue or expense tracking. ### List Items - [GET /public/v1/items/](https://docs.dualentry.com/resources/items/core_api_public_items_list_items.md) ### Create Item - [POST /public/v1/items/](https://docs.dualentry.com/resources/items/core_api_public_items_create_item.md) ### Get Item - [GET /public/v1/items/{item_id}/](https://docs.dualentry.com/resources/items/core_api_public_items_get_item.md) ### Update Item - [PUT /public/v1/items/{item_id}/](https://docs.dualentry.com/resources/items/core_api_public_items_update_item.md) ### Delete Item - [DELETE /public/v1/items/{item_id}/](https://docs.dualentry.com/resources/items/core_api_public_items_delete_item.md) ## Classifications Manage custom classification dimensions. Create and maintain classification categories (e.g., departments, locations, projects) used to tag and analyze transactions across multiple dimensions. ### List Classifications - [GET /public/v1/classifications/](https://docs.dualentry.com/resources/classifications/core_api_public_classifications_list_classifications.md) ### Create Classification - [POST /public/v1/classifications/](https://docs.dualentry.com/resources/classifications/core_api_public_classifications_create_classification.md) ### Get Classification - [GET /public/v1/classifications/{classification_id}/](https://docs.dualentry.com/resources/classifications/core_api_public_classifications_get_classification.md) ### Update Classification - [PUT /public/v1/classifications/{classification_id}/](https://docs.dualentry.com/resources/classifications/core_api_public_classifications_update_classification.md) ### Delete Classification - [DELETE /public/v1/classifications/{classification_id}/](https://docs.dualentry.com/resources/classifications/core_api_public_classifications_delete_classification.md) ## Classifications Lines Manage classification values. Define the specific values within each classification category that can be assigned to transaction line items for detailed reporting and analysis. ### List Classification Lines - [GET /public/v1/classifications-lines/](https://docs.dualentry.com/resources/classifications-lines/core_api_public_classifications_list_classification_lines.md) ## Companies Access and manage company information. Retrieve details about your organization including legal name, tax identifiers, addresses, and accounting preferences. ### List companies - [GET /public/v1/companies/](https://docs.dualentry.com/resources/companies/core_api_public_companies_list_companies.md): Retrieve a paginated list of companies with filtering and search capabilities. ### Get company - [GET /public/v1/companies/{company_id}/](https://docs.dualentry.com/resources/companies/core_api_public_companies_get_company.md): Retrieve a specific company by ID with all related data including company access. ## Journal Entries Create and manage manual journal entries. Record direct debits and credits to accounts for adjustments, accruals, reclassifications, and other accounting transactions. ### List JournalEntry records - [GET /public/v1/journal-entries/](https://docs.dualentry.com/resources/journal-entries/list_journalentry_records.md): Retrieve a paginated list of JournalEntry records with filtering and ordering options. ### Create JournalEntry record - [POST /public/v1/journal-entries/](https://docs.dualentry.com/resources/journal-entries/create_journalentry_record.md): Create a new JournalEntry record with the provided data. Validates all required fields and business rules. ### Get JournalEntry record - [GET /public/v1/journal-entries/{record_number}/](https://docs.dualentry.com/resources/journal-entries/get_journalentry_record.md): Retrieve a specific JournalEntry record by number with all related data. ### Update JournalEntry record - [PUT /public/v1/journal-entries/{record_number}/](https://docs.dualentry.com/resources/journal-entries/update_journalentry_record.md): Update an existing JournalEntry record with the provided data. Validates all required fields and business rules. ### Create JournalEntry record attachments - [POST /public/v1/journal-entries/{record_number}/attachments/](https://docs.dualentry.com/resources/journal-entries/create_journalentry_record_attachments.md): Create a new JournalEntry record attachments with the provided data. Validates all required fields and business rules. ## Recurring Journal Entries Automate recurring journal entries. Create templates for journal entries that occur regularly (e.g., monthly depreciation, amortization) to ensure consistent accounting treatment. ### List RecurringJournalEntry records - [GET /public/v1/recurring/journal-entries/](https://docs.dualentry.com/resources/recurring-journal-entries/list_recurringjournalentry_records.md): Retrieve a paginated list of RecurringJournalEntry records with filtering and ordering options. ### Create RecurringJournalEntry record - [POST /public/v1/recurring/journal-entries/](https://docs.dualentry.com/resources/recurring-journal-entries/create_recurringjournalentry_record.md): Create a new Recurring record with the provided data. Validates all required fields and business rules. ### Get RecurringJournalEntry record - [GET /public/v1/recurring/journal-entries/{record_number}/](https://docs.dualentry.com/resources/recurring-journal-entries/get_recurringjournalentry_record.md): Retrieve a specific Recurring record by number with all related data. ### Update RecurringJournalEntry record - [PUT /public/v1/recurring/journal-entries/{record_number}/](https://docs.dualentry.com/resources/recurring-journal-entries/update_recurringjournalentry_record.md): Update an existing RecurringJournalEntry record with the provided data. Validates all required fields and business rules. ### Delete RecurringJournalEntry record - [DELETE /public/v1/recurring/journal-entries/{record_number}/](https://docs.dualentry.com/resources/recurring-journal-entries/delete_recurringjournalentry_record.md): Delete a RecurringJournalEntry record. ## Invoices Manage sales invoices. Create and track invoices sent to customers for goods or services rendered, including line items, taxes, discounts, and payment status. ### List Invoice records - [GET /public/v1/invoices/](https://docs.dualentry.com/resources/invoices/list_invoice_records.md): Retrieve a paginated list of Invoice records with filtering and ordering options. ### Create Invoice record - [POST /public/v1/invoices/](https://docs.dualentry.com/resources/invoices/create_invoice_record.md): Create a new Invoice record with the provided data. Validates all required fields and business rules. ### Get Invoice record - [GET /public/v1/invoices/{record_number}/](https://docs.dualentry.com/resources/invoices/get_invoice_record.md): Retrieve a specific Invoice record by number with all related data. ### Update Invoice record - [PUT /public/v1/invoices/{record_number}/](https://docs.dualentry.com/resources/invoices/update_invoice_record.md): Update an existing Invoice record with the provided data. Validates all required fields and business rules. ### Create Invoice record attachments - [POST /public/v1/invoices/{record_number}/attachments/](https://docs.dualentry.com/resources/invoices/create_invoice_record_attachments.md): Create a new Invoice record attachments with the provided data. Validates all required fields and business rules. ## Recurring Invoices Automate recurring billing. Set up and manage templates for invoices that are automatically generated on a regular schedule (e.g., monthly subscriptions). ### List RecurringInvoice records - [GET /public/v1/recurring/invoices/](https://docs.dualentry.com/resources/recurring-invoices/list_recurringinvoice_records.md): Retrieve a paginated list of RecurringInvoice records with filtering and ordering options. ### Create RecurringInvoice record - [POST /public/v1/recurring/invoices/](https://docs.dualentry.com/resources/recurring-invoices/create_recurringinvoice_record.md): Create a new Recurring record with the provided data. Validates all required fields and business rules. ### Get RecurringInvoice record - [GET /public/v1/recurring/invoices/{record_number}/](https://docs.dualentry.com/resources/recurring-invoices/get_recurringinvoice_record.md): Retrieve a specific Recurring record by number with all related data. ### Update RecurringInvoice record - [PUT /public/v1/recurring/invoices/{record_number}/](https://docs.dualentry.com/resources/recurring-invoices/update_recurringinvoice_record.md): Update an existing RecurringInvoice record with the provided data. Validates all required fields and business rules. ### Delete RecurringInvoice record - [DELETE /public/v1/recurring/invoices/{record_number}/](https://docs.dualentry.com/resources/recurring-invoices/delete_recurringinvoice_record.md): Delete a RecurringInvoice record. ## Customers Manage customer records. Create, update, and track customers who purchase goods or services from your organization, including contact information, billing addresses, and payment terms. ### List Customers - [GET /public/v1/customers/](https://docs.dualentry.com/resources/customers/core_api_public_customers_list_customers.md) ### Create Customer - [POST /public/v1/customers/](https://docs.dualentry.com/resources/customers/core_api_public_customers_create_customer.md) ### Get Customer - [GET /public/v1/customers/{customer_id}/](https://docs.dualentry.com/resources/customers/core_api_public_customers_get_customer.md) ### Update Customer - [PUT /public/v1/customers/{customer_id}/](https://docs.dualentry.com/resources/customers/core_api_public_customers_update_customer.md) ### Delete Customer - [DELETE /public/v1/customers/{customer_id}/](https://docs.dualentry.com/resources/customers/core_api_public_customers_delete_customer.md) ## Customer Payments Record and manage customer payments. Track payments received from customers and apply them to outstanding invoices, including partial payments and overpayments. ### List CustomerPayment records - [GET /public/v1/customer-payments/](https://docs.dualentry.com/resources/customer-payments/list_customerpayment_records.md): Retrieve a paginated list of CustomerPayment records with filtering and ordering options. ### Create CustomerPayment record - [POST /public/v1/customer-payments/](https://docs.dualentry.com/resources/customer-payments/create_customerpayment_record.md): Create a new CustomerPayment record with the provided data. Validates all required fields and business rules. ### Get CustomerPayment record - [GET /public/v1/customer-payments/{record_number}/](https://docs.dualentry.com/resources/customer-payments/get_customerpayment_record.md): Retrieve a specific CustomerPayment record by number with all related data. ### Update CustomerPayment record - [PUT /public/v1/customer-payments/{record_number}/](https://docs.dualentry.com/resources/customer-payments/update_customerpayment_record.md): Update an existing CustomerPayment record with the provided data. Validates all required fields and business rules. ## Customer Prepayments Track advance payments from customers. Access prepayments received before goods or services are delivered, which can be applied to future invoices. ### List CustomerPrepayment records - [GET /public/v1/customer-prepayments/](https://docs.dualentry.com/resources/customer-prepayments/list_customerprepayment_records.md): Retrieve a paginated list of CustomerPrepayment records with filtering and ordering options. ### Get CustomerPrepayment record - [GET /public/v1/customer-prepayments/{record_number}/](https://docs.dualentry.com/resources/customer-prepayments/get_customerprepayment_record.md): Retrieve a specific CustomerPrepayment record by number with all related data. ## Customer Deposits Manage customer deposit transactions. Record and track deposits received from customers as security or partial payment, held in liability accounts until earned or refunded. ### List CustomerDeposit records - [GET /public/v1/customer-deposits/](https://docs.dualentry.com/resources/customer-deposits/list_customerdeposit_records.md): Retrieve a paginated list of CustomerDeposit records with filtering and ordering options. ### Get CustomerDeposit record - [GET /public/v1/customer-deposits/{record_number}/](https://docs.dualentry.com/resources/customer-deposits/get_customerdeposit_record.md): Retrieve a specific CustomerDeposit record by number with all related data. ## Customer Refunds Process and track customer refunds. Record refunds issued to customers for overpayments, returns, or cancelled transactions. ### List CustomerRefund records - [GET /public/v1/customer-refunds/](https://docs.dualentry.com/resources/customer-refunds/list_customerrefund_records.md): Retrieve a paginated list of CustomerRefund records with filtering and ordering options. ### Get CustomerRefund record - [GET /public/v1/customer-refunds/{record_number}/](https://docs.dualentry.com/resources/customer-refunds/get_customerrefund_record.md): Retrieve a specific CustomerRefund record by number with all related data. ## Customer Credits Manage credit memos for customers. Issue credits for returned goods, billing adjustments, or discounts that reduce customer balances or can be applied to future invoices. ### List CustomerCredit records - [GET /public/v1/customer-credits/](https://docs.dualentry.com/resources/customer-credits/list_customercredit_records.md): Retrieve a paginated list of CustomerCredit records with filtering and ordering options. ### Get CustomerCredit record - [GET /public/v1/customer-credits/{record_number}/](https://docs.dualentry.com/resources/customer-credits/get_customercredit_record.md): Retrieve a specific CustomerCredit record by number with all related data. ## Bills Manage vendor bills and payables. Record and track bills received from vendors for goods or services purchased, including line items, due dates, and payment tracking. ### List Bill records - [GET /public/v1/bills/](https://docs.dualentry.com/resources/bills/list_bill_records.md): Retrieve a paginated list of Bill records with filtering and ordering options. ### Create Bill record - [POST /public/v1/bills/](https://docs.dualentry.com/resources/bills/create_bill_record.md): Create a new Bill record with the provided data. Validates all required fields and business rules. ### Get Bill record - [GET /public/v1/bills/{record_number}/](https://docs.dualentry.com/resources/bills/get_bill_record.md): Retrieve a specific Bill record by number with all related data. ### Update Bill record - [PUT /public/v1/bills/{record_number}/](https://docs.dualentry.com/resources/bills/update_bill_record.md): Update an existing Bill record with the provided data. Validates all required fields and business rules. ### Create Bill record attachments - [POST /public/v1/bills/{record_number}/attachments/](https://docs.dualentry.com/resources/bills/create_bill_record_attachments.md): Create a new Bill record attachments with the provided data. Validates all required fields and business rules. ## Recurring Bills Automate recurring expenses. Configure templates for bills that repeat on a regular basis (e.g., monthly rent, subscriptions) to streamline expense tracking. ### List RecurringBill records - [GET /public/v1/recurring/bills/](https://docs.dualentry.com/resources/recurring-bills/list_recurringbill_records.md): Retrieve a paginated list of RecurringBill records with filtering and ordering options. ### Create RecurringBill record - [POST /public/v1/recurring/bills/](https://docs.dualentry.com/resources/recurring-bills/create_recurringbill_record.md): Create a new Recurring record with the provided data. Validates all required fields and business rules. ### Get RecurringBill record - [GET /public/v1/recurring/bills/{record_number}/](https://docs.dualentry.com/resources/recurring-bills/get_recurringbill_record.md): Retrieve a specific Recurring record by number with all related data. ### Update RecurringBill record - [PUT /public/v1/recurring/bills/{record_number}/](https://docs.dualentry.com/resources/recurring-bills/update_recurringbill_record.md): Update an existing RecurringBill record with the provided data. Validates all required fields and business rules. ### Delete RecurringBill record - [DELETE /public/v1/recurring/bills/{record_number}/](https://docs.dualentry.com/resources/recurring-bills/delete_recurringbill_record.md): Delete a RecurringBill record. ## Purchase Orders Create and track purchase orders. Manage formal requests to vendors for goods or services, including approval workflows, receiving tracking, and bill matching. ### List PurchaseOrder records - [GET /public/v1/purchase-orders/](https://docs.dualentry.com/resources/purchase-orders/list_purchaseorder_records.md): Retrieve a paginated list of PurchaseOrder records with filtering and ordering options. ### Create PurchaseOrder record - [POST /public/v1/purchase-orders/](https://docs.dualentry.com/resources/purchase-orders/create_purchaseorder_record.md): Create a new PurchaseOrder record with the provided data. Validates all required fields and business rules. ### Get PurchaseOrder record - [GET /public/v1/purchase-orders/{record_number}/](https://docs.dualentry.com/resources/purchase-orders/get_purchaseorder_record.md): Retrieve a specific PurchaseOrder record by number with all related data. ### Update PurchaseOrder record - [PUT /public/v1/purchase-orders/{record_number}/](https://docs.dualentry.com/resources/purchase-orders/update_purchaseorder_record.md): Update an existing PurchaseOrder record with the provided data. Validates all required fields and business rules. ### Create PurchaseOrder record attachments - [POST /public/v1/purchase-orders/{record_number}/attachments/](https://docs.dualentry.com/resources/purchase-orders/create_purchaseorder_record_attachments.md): Create a new PurchaseOrder record attachments with the provided data. Validates all required fields and business rules. ## Vendors Manage vendor and supplier records. Track businesses and individuals from whom you purchase goods or services, including contact details, payment terms, and tax information. ### List Vendors - [GET /public/v1/vendors/](https://docs.dualentry.com/resources/vendors/core_api_public_vendors_list_vendors.md) ### Create Vendor - [POST /public/v1/vendors/](https://docs.dualentry.com/resources/vendors/core_api_public_vendors_create_vendor.md) ### Get Vendor - [GET /public/v1/vendors/{vendor_id}/](https://docs.dualentry.com/resources/vendors/core_api_public_vendors_get_vendor.md) ### Update Vendor - [PUT /public/v1/vendors/{vendor_id}/](https://docs.dualentry.com/resources/vendors/core_api_public_vendors_update_vendor.md) ### Delete Vendor - [DELETE /public/v1/vendors/{vendor_id}/](https://docs.dualentry.com/resources/vendors/core_api_public_vendors_delete_vendor.md)