# codat v1.0.0 - API Reference

## Modules

- [Codat.API](Codat.API.md): The `use Codat.API` macro that powers all Codat resource modules.
- [Codat.Application](Codat.Application.md): OTP Application module for the Codat client.
- [Codat.HTTP.Behaviour](Codat.HTTP.Behaviour.md): Behaviour that `Codat.HTTP.Client` satisfies, exposed for mocking in tests.
- [Codat.HTTP.Client](Codat.HTTP.Client.md): Low-level HTTP client for the Codat API, built on `Req` + `Finch`.
- [Codat.Idempotency](Codat.Idempotency.md): Helpers for idempotent write operations.
- [Codat.ModifiedDates](Codat.ModifiedDates.md): Helpers for incremental data fetching using Codat's `modifiedAfter` parameter.
- [Codat.Platform.CustomData](Codat.Platform.CustomData.md): Read custom data pulled from integrations via supplemental data configuration.
- [Codat.Platform.Integrations](Codat.Platform.Integrations.md): Browse and manage available Codat integrations.
- [Codat.Platform.SupplementalData](Codat.Platform.SupplementalData.md): Configure supplemental data — extra fields pulled from an integration and
merged into standard Codat data type responses.
- [Codat.Platform.SyncSettings](Codat.Platform.SyncSettings.md): Manage data sync schedules for a company's connections.
- [Codat.RateLimit](Codat.RateLimit.md): Rate limit information extracted from Codat API response headers.

- Core
  - [Codat](Codat.md): Production-grade Elixir client for the Codat API.
  - [Codat.Client](Codat.Client.md): The Codat API client.
  - [Codat.Config](Codat.Config.md): Configuration management for the Codat client.
  - [Codat.Error](Codat.Error.md): Structured error types returned by all Codat API functions.
  - [Codat.Telemetry](Codat.Telemetry.md): Telemetry integration for the Codat client.

- Utilities
  - [Codat.Pagination](Codat.Pagination.md): Pagination utilities for Codat list endpoints.
  - [Codat.QueryBuilder](Codat.QueryBuilder.md): Builder for Codat's query filter language.

- Platform
  - [Codat.Platform.APIKeys](Codat.Platform.APIKeys.md): Manage Codat API keys programmatically.
  - [Codat.Platform.Companies](Codat.Platform.Companies.md): Manage Codat companies (your customers).
  - [Codat.Platform.Connections](Codat.Platform.Connections.md): Manage data connections between companies and their accounting/banking platforms.
  - [Codat.Platform.DataStatus](Codat.Platform.DataStatus.md): Query and manage data sync status for a company's connections.
  - [Codat.Platform.Files](Codat.Platform.Files.md): Upload and retrieve business documents (files) for a company.
  - [Codat.Platform.PushOperations](Codat.Platform.PushOperations.md): Track asynchronous write (push) operations.
  - [Codat.Platform.Webhooks](Codat.Platform.Webhooks.md): Manage webhook consumers via the Codat Platform API.

- Accounting
  - [Codat.Accounting.Accounts](Codat.Accounting.Accounts.md): Read and write the chart of accounts (GL accounts).
  - [Codat.Accounting.Attachments](Codat.Accounting.Attachments.md): Upload and manage file attachments for accounting records.
  - [Codat.Accounting.BalanceSheet](Codat.Accounting.BalanceSheet.md): Read balance sheet financial statements.
  - [Codat.Accounting.BankAccounts](Codat.Accounting.BankAccounts.md): Read and write bank accounts connected to the accounting platform.
  - [Codat.Accounting.BankTransactions](Codat.Accounting.BankTransactions.md): Read and write bank account transactions.
  - [Codat.Accounting.BillCreditNotes](Codat.Accounting.BillCreditNotes.md): Read and write supplier credit notes (negative bills).
  - [Codat.Accounting.BillPayments](Codat.Accounting.BillPayments.md): Read and write payments against supplier bills.
  - [Codat.Accounting.Bills](Codat.Accounting.Bills.md): Read and write supplier bills (accounts payable / purchase invoices).
  - [Codat.Accounting.CashFlowStatement](Codat.Accounting.CashFlowStatement.md): Read cash flow statement financial reports.
  - [Codat.Accounting.CompanyInfo](Codat.Accounting.CompanyInfo.md): Read company information from the accounting platform.
  - [Codat.Accounting.CreditNotes](Codat.Accounting.CreditNotes.md): Read and write customer credit notes (negative invoices).
  - [Codat.Accounting.Customers](Codat.Accounting.Customers.md): Read and write accounting customers (debtors / clients).

  - [Codat.Accounting.DirectCosts](Codat.Accounting.DirectCosts.md): Read and write direct cost transactions (expenses not associated with a bill).
  - [Codat.Accounting.DirectIncomes](Codat.Accounting.DirectIncomes.md): Read and write direct income transactions (income not associated with an invoice).
  - [Codat.Accounting.Invoices](Codat.Accounting.Invoices.md): Read and write accounting invoices (sales invoices / accounts receivable).
  - [Codat.Accounting.Items](Codat.Accounting.Items.md): Read and write inventory items and products.
  - [Codat.Accounting.JournalEntries](Codat.Accounting.JournalEntries.md): Read and write general ledger journal entries.
  - [Codat.Accounting.Journals](Codat.Accounting.Journals.md): Read accounting journals (ledger books).
  - [Codat.Accounting.Payments](Codat.Accounting.Payments.md): Read and write customer payments (receipts against invoices).
  - [Codat.Accounting.ProfitAndLoss](Codat.Accounting.ProfitAndLoss.md): Read profit and loss (income statement) financial statements.
  - [Codat.Accounting.PurchaseOrders](Codat.Accounting.PurchaseOrders.md): Read and write purchase orders (POs to suppliers).
  - [Codat.Accounting.Suppliers](Codat.Accounting.Suppliers.md): Read and write accounting suppliers (creditors / vendors).
  - [Codat.Accounting.TaxRates](Codat.Accounting.TaxRates.md): Read tax rates from the accounting platform.
  - [Codat.Accounting.TrackingCategories](Codat.Accounting.TrackingCategories.md): Read tracking categories (departments, projects, cost centers).
  - [Codat.Accounting.Transfers](Codat.Accounting.Transfers.md): Read and write transfers between bank accounts.

- Bank Feeds
  - [Codat.BankFeeds.AccountMapping](Codat.BankFeeds.AccountMapping.md): Retrieve and configure the mapping between source accounts and
the customer's chart of accounts.
  - [Codat.BankFeeds.Connections](Codat.BankFeeds.Connections.md): Manage bank feed data connections.
  - [Codat.BankFeeds.SourceAccounts](Codat.BankFeeds.SourceAccounts.md): Manage source bank accounts for bank feeds.
  - [Codat.BankFeeds.Transactions](Codat.BankFeeds.Transactions.md): Push bank transactions into a customer's accounting software.

- Lending
  - [Codat.Lending.AccountsPayable](Codat.Lending.AccountsPayable.md): Lending-enhanced accounts payable data.
  - [Codat.Lending.AccountsReceivable](Codat.Lending.AccountsReceivable.md): Lending-enhanced accounts receivable data.
  - [Codat.Lending.Banking](Codat.Lending.Banking.md): Lending-enhanced banking (bank transactions) data.
  - [Codat.Lending.CompanyInfo](Codat.Lending.CompanyInfo.md): Access company information via the Lending API.
  - [Codat.Lending.DataIntegrity](Codat.Lending.DataIntegrity.md): Data integrity checks — cross-reference accounting and banking data.
  - [Codat.Lending.ExcelReports](Codat.Lending.ExcelReports.md): Generate and download Excel-based lending reports.
  - [Codat.Lending.FinancialStatements](Codat.Lending.FinancialStatements.md): Access enhanced financial statement data through the Lending API.

- Expenses
  - [Codat.Expenses.Accounts](Codat.Expenses.Accounts.md): Read accounts available for expense mapping in the Expenses API.
  - [Codat.Expenses.Customers](Codat.Expenses.Customers.md): Read customers for the Expenses API.
  - [Codat.Expenses.Mappings](Codat.Expenses.Mappings.md): Manage expense mapping options.
  - [Codat.Expenses.Suppliers](Codat.Expenses.Suppliers.md): Read suppliers for the Expenses API.
  - [Codat.Expenses.Sync](Codat.Expenses.Sync.md): Manage expense sync sessions.
  - [Codat.Expenses.TaxRates](Codat.Expenses.TaxRates.md): Read tax rates for the Expenses API.
  - [Codat.Expenses.TrackingCategories](Codat.Expenses.TrackingCategories.md): Read tracking categories (departments, projects) for the Expenses API.
  - [Codat.Expenses.Transactions](Codat.Expenses.Transactions.md): Push expense transactions into an active sync session.

- Bill Pay
  - [Codat.BillPay.Bills](Codat.BillPay.Bills.md): Read supplier bills through the Bill Pay API.
  - [Codat.BillPay.Companies](Codat.BillPay.Companies.md): Manage companies specifically for the Bill Pay solution.
  - [Codat.BillPay.Connections](Codat.BillPay.Connections.md): Manage Bill Pay-specific data connections.
  - [Codat.BillPay.Payments](Codat.BillPay.Payments.md): Create and track bill payments through the Bill Pay API.
  - [Codat.BillPay.Suppliers](Codat.BillPay.Suppliers.md): Read supplier information through the Bill Pay API.

- Webhooks
  - [Codat.Webhooks.BodyReader](Codat.Webhooks.BodyReader.md): A custom body reader for `Plug.Parsers` that preserves the raw request body
in `conn.private[:raw_body]` for webhook signature verification.
  - [Codat.Webhooks.BroadcastHandler](Codat.Webhooks.BroadcastHandler.md): A webhook handler that broadcasts events to a `Phoenix.PubSub` topic.
  - [Codat.Webhooks.Dispatcher](Codat.Webhooks.Dispatcher.md): Routes Codat webhook events to multiple handlers based on event type patterns.
  - [Codat.Webhooks.EventTypes](Codat.Webhooks.EventTypes.md): Constants for all Codat webhook event types.
  - [Codat.Webhooks.Handler](Codat.Webhooks.Handler.md): Behaviour for implementing typed Codat webhook event handlers.
  - [Codat.Webhooks.NoOpHandler](Codat.Webhooks.NoOpHandler.md): A no-op webhook handler for testing and development. Logs all events.
  - [Codat.Webhooks.Plug](Codat.Webhooks.Plug.md): A `Plug` that handles incoming Codat webhook events.
  - [Codat.Webhooks.VerificationError](Codat.Webhooks.VerificationError.md): Raised when webhook signature verification fails via `verify!/4`.
  - [Codat.Webhooks.Verifier](Codat.Webhooks.Verifier.md): Verify the authenticity and integrity of incoming Codat webhook payloads.

