# Digits Connect API Documentation > Documentation for Digits Connect API Append .md to any documentation page URL to get its markdown version. ## Guides - [Digits Connect API](https://developer.digits.com/docs/overview.md): The Digits Connect API gives you programmatic access to the AGL — our AI-native general ledger. Send raw financial data and get clean, categorized, deduplicated entries! - [Quickstart](https://developer.digits.com/docs/quickstart.md): Set up a development app and make your first Digits Connect API request. - [API Versioning](https://developer.digits.com/docs/api-versioning.md): The Digits Connect API uses route-based versioning with the version number as a URL path prefix. - [Authentication](https://developer.digits.com/docs/authentication.md): The Digits Connect API uses OAuth 2.0 with the authorization code grant type for secure authentication. This flow allows your application to obtain access tokens that can be used to make authenticated API requests on behalf of users. - [SDKs and LLMs](https://developer.digits.com/docs/sdks-llms.md): OpenAPI codegen for 50+ programming languages, with LLMs.txt support - [Rate Limits](https://developer.digits.com/docs/rate-limits.md): The Digits Connect API implements rate limiting to ensure fair usage and maintain service quality for all users. - [Pagination](https://developer.digits.com/docs/pagination.md): The Digits Connect API uses cursor-based pagination for paginated list endpoints. This approach provides efficient and reliable pagination through large result sets. - [Developer Accounts](https://developer.digits.com/docs/developer-accounts.md): Developing on Digits is free, fast, and requires just a few steps to get started. - [App Creation](https://developer.digits.com/docs/app-creation.md): How to create an app, choose scopes, and prepare for authentication. - [Developer Sandbox](https://developer.digits.com/docs/developer-sandbox-testing-your-app.md): Explore Digits with realistic sample data and test your app! - [Publishing Apps](https://developer.digits.com/docs/publishing-apps.md): Understand app modes, approval, and publishing options. - [Source vs Ledger](https://developer.digits.com/docs/source-vs-ledger.md): Digits has an "isolated bankfeed" architecture - Sources are merged to become the Ledger. - [Identifiers](https://developer.digits.com/docs/identifiers.md): Sources use externally defined identifiers to track uniqueness and idempotence. - [Sources](https://developer.digits.com/docs/sources.md): Sources organize transactions into logical groups, enabling powerful bookkeeping automation. - [Matching](https://developer.digits.com/docs/matching.md): Transactions are matched when they represent the same economic event. - [Categorization](https://developer.digits.com/docs/digits-ai-categorization.md): Effortless, adaptive, automatic AI categorization - [Party Hydration](https://developer.digits.com/docs/ai-party-research.md): Who was this transaction with? - [Documents](https://developer.digits.com/docs/documents.md): AI document extraction for Bills, Statements, Receipts, and more - [Transactions](https://developer.digits.com/docs/transactions.md): Digits automatically manages categorization, matching, and enrichment for your source transaction data. - [Category Labels](https://developer.digits.com/docs/category-labels.md): Bookkeeping without tracking the chart of accounts - [Invoices & Bills](https://developer.digits.com/docs/invoices-bills.md): Add invoice and bill details to any transaction to enable payment linking and aging - [Parties](https://developer.digits.com/docs/parties.md): Define and manage the customers, vendors, and other parties your integration references in Digits. - [Chart of Accounts](https://developer.digits.com/docs/chart-of-accounts.md) - [Financial Statements](https://developer.digits.com/docs/financial-statements.md): Create on-demand statements for any time period - [Aggregations](https://developer.digits.com/docs/aggregations.md): Digits supports deep on-demand financial analysis through our aggregation engine. - [Zapier](https://developer.digits.com/docs/zapier.md) ## API Reference - [Authorize](https://developer.digits.com/reference/oauth_authorize.md): Initiates the OAuth 2.0 authorization flow by redirecting users to authorize your application. After the user authorizes your application, they will be redirected to your `redirect_uri` with the authorization code as a query parameter. **Example Usage:** ``` https://connect.digits.com/v1/oauth/authorize?response_type=code &client_id= &redirect_uri= &scope=source%3Async%20ledger%3Aread%20documents%3Awrite &state= ``` **Redirect Response:** After authorization, the user will be redirected to: ``` https://yourapp.com/oauth/callback?code=base64_encoded_authorization_code&state=random_state_string ``` - [Token Exchange](https://developer.digits.com/reference/authorizationservice_token.md): Exchange an authorization code for a refresh token, or a refresh token for a new access token. - [Sync Sources](https://developer.digits.com/reference/connectionsourceservice_sync.md): Sync endpoint to create, update, and delete connection sources. Connection sources organize transactions (for example, by bank account; or to separate bills and invoices) Labels allow seamless reference to the chart of accounts within the Ledger. - [List Sources](https://developer.digits.com/reference/connectionsourceservice_list.md): List all connection sources. - [Get Company Info](https://developer.digits.com/reference/companyservice_get.md): Read endpoint to get company information, including fiscal year start month and earliest transaction date. - [Sync Transactions](https://developer.digits.com/reference/sourcetransactionservice_sync.md): Batch sync endpoint to create or update transactions. Idempotence and deduplication is handled via the external_id field on each transaction. - [Delete Transactions](https://developer.digits.com/reference/sourcetransactionservice_delete.md): Delete transactions by external ID. - [Store Samples](https://developer.digits.com/reference/sourcemetricservice_store.md): Batch endpoint to store time series metric samples. - [List Departments](https://developer.digits.com/reference/sourcedepartmentservice_list.md): List the departments provided by this source. - [Sync Departments](https://developer.digits.com/reference/sourcedepartmentservice_sync.md): Batch sync endpoint to create, update, and delete departments. Idempotence and deduplication is handled via the external_id field on each department. - [List Locations](https://developer.digits.com/reference/sourcelocationservice_list.md): List the locations provided by this source. - [Sync Locations](https://developer.digits.com/reference/sourcelocationservice_sync.md): Batch sync endpoint to create, update, and delete locations. Idempotence and deduplication is handled via the external_id field on each location. - [List Projects](https://developer.digits.com/reference/sourceprojectservice_list.md): List the projects provided by this source. - [Sync Projects](https://developer.digits.com/reference/sourceprojectservice_sync.md): Batch sync endpoint to create, update, and delete projects. Idempotence and deduplication is handled via the external_id field on each project. - [List Products](https://developer.digits.com/reference/sourceproductservice_list.md): List the products provided by this source. - [Sync Products](https://developer.digits.com/reference/sourceproductservice_sync.md): Batch sync endpoint to create, update, and delete products. Idempotence and deduplication is handled via the external_id field on each product. - [List Parties](https://developer.digits.com/reference/sourcepartyservice_list.md): List the parties provided by this source. - [Sync Parties](https://developer.digits.com/reference/sourcepartyservice_sync.md): Batch sync endpoint to create, update, and delete parties. Idempotence and deduplication is handled via the external_id field on each party. - [Balance Sheet](https://developer.digits.com/reference/ledgerstatementsservice_balancesheet.md): Generate a balance sheet statement. - [Cash Flow](https://developer.digits.com/reference/ledgerstatementsservice_cashflow.md): Generate a cash flow statement. - [Profit and Loss](https://developer.digits.com/reference/ledgerstatementsservice_profitandloss.md): Generate a profit and loss statement. - [Trial Balance](https://developer.digits.com/reference/ledgerstatementsservice_trialbalance.md): Generate a trial balance statement. - [A/P Aging](https://developer.digits.com/reference/ledgerstatementsservice_apaging.md): Generate an accounts payable aging report. - [A/R Aging](https://developer.digits.com/reference/ledgerstatementsservice_araging.md): Generate an accounts receivable aging report. - [Get Summary](https://developer.digits.com/reference/ledgersummaryservice_summarize.md): Get a summary of ledger transactions. - [List Categories](https://developer.digits.com/reference/ledgercategoryservice_list.md): Fetch the full Chart of Accounts from the Ledger. - [Get Category](https://developer.digits.com/reference/ledgercategoryservice_get.md): Get a single category by its ID. - [Get Department](https://developer.digits.com/reference/ledgerdepartmentservice_get.md): Get a single ledger department by its ID. - [List Departments](https://developer.digits.com/reference/ledgerdepartmentservice_list.md): List ledger departments. - [List Entries](https://developer.digits.com/reference/ledgertransactionservice_entries.md): List ledger entries. - [Query Entries](https://developer.digits.com/reference/ledgertransactionservice_queryentries.md): Query ledger entries. - [Get Transaction](https://developer.digits.com/reference/ledgertransactionservice_gettransaction.md): Get a ledger transaction by its ID. - [Get Project](https://developer.digits.com/reference/ledgerprojectservice_get.md): Get a single ledger project by its ID. - [List Projects](https://developer.digits.com/reference/ledgerprojectservice_list.md): List ledger projects. - [Get Location](https://developer.digits.com/reference/ledgerlocationservice_get.md): Get a single ledger location by its ID. - [List Locations](https://developer.digits.com/reference/ledgerlocationservice_list.md): List ledger locations. - [List Parties](https://developer.digits.com/reference/ledgerpartyservice_list.md): List ledger parties. - [Get Party](https://developer.digits.com/reference/ledgerpartyservice_get.md): Get a single ledger party by its ID. - [Organization](https://developer.digits.com/reference/organization.md): Read and interact with your App's organization. - [Get Organization](https://developer.digits.com/reference/organizationservice_get.md): Returns the caller's organization, including its Digits-assigned ID and, when set, its caller-assigned ID. - [List Employees](https://developer.digits.com/reference/organizationemployeeservice_list.md): List all employees in the organization. - [Get Employee](https://developer.digits.com/reference/organizationemployeeservice_get.md): Get a single employee by their Digits-assigned ID. - [Create Employee](https://developer.digits.com/reference/organizationemployeeservice_create.md): Create, reactivate, or additively update an employee binding. The user must already exist (either provisioned via SSO or as an existing Digits user). This operation is synchronous. If the employee binding already exists and is active, the supplied access is merged in: named bindings are added or their role updated, and access omitted from the request is never removed; the required organizationRole always overwrites the current organization role. Use Update Employee to fully replace access, or Delete Employee to remove it. Requires scope: `organization:sync`. - [Delete Employee](https://developer.digits.com/reference/organizationemployeeservice_delete.md): Delete an employee binding in the caller's organization. Removes all of the employee's entity-role and client-role bindings. The underlying user is not deleted. Requires scope: `organization:sync`. - [Update Employee](https://developer.digits.com/reference/organizationemployeeservice_update.md): Fully replace an employee binding. The user must already exist and have an active employee binding. The request must identify the employee by Digits-assigned ID or caller-assigned user ID, include the employee's organization role, and may include entity access (`entities` and/or `entityRole`), client access (`clients` and/or `clientRole`), or both. `entityRole` and `clientRole` are stored as employee-level defaults for future entities or client entities and are applied to current access unless explicit `entities` or `clients` entries override them. Access omitted from the request is removed. Requires scope: `organization:sync`. - [Bulk Delete Employees](https://developer.digits.com/reference/organizationemployeeservice_bulkdelete.md): Delete multiple employee bindings by Digits-assigned user ID or caller-assigned user ID. Maximum 100 per request. Deletes matching employee bindings and removes their entity-role and client-role bindings. Underlying users are not deleted. Requires scope: `organization:sync`. - [List Entities](https://developer.digits.com/reference/organizationentityservice_list.md): List all entities in the organization. - [Get Entity](https://developer.digits.com/reference/organizationentityservice_get.md): Get a single entity by its Digits-assigned ID. - [Create Entity](https://developer.digits.com/reference/organizationentityservice_create.md): Create a new entity within the organization. The entity object is created synchronously, but data provisioning (chart of accounts, etc.) completes asynchronously. Requires scope: `organization:sync`. - [Delete Entity](https://developer.digits.com/reference/organizationentityservice_delete.md): Delete an entity. Deleting an entity also removes all employee access bindings for that entity. Requires scope: `organization:sync`. - [Create Entity Payment Instrument](https://developer.digits.com/reference/entitypaymentinstrumentservice_create.md): Create or update a payment instrument owned by an organization entity. The entity's first instrument becomes its default funding instrument; an existing default is never overwritten. - [Delete Entity Payment Instruments](https://developer.digits.com/reference/entitypaymentinstrumentservice_delete.md): Delete entity payment instruments by Digits-assigned or caller-assigned IDs. Unknown IDs are skipped. A deleted payment instrument becomes unavailable for any future payments; any in-flight payments continue to use it. - [Query Entity Payment Instruments](https://developer.digits.com/reference/entitypaymentinstrumentservice_query.md): Find entity payment instruments by Digits-assigned or caller-assigned IDs. - [Get SSO Config](https://developer.digits.com/reference/ssoconfigservice_get.md): Returns the SSO configuration for the organization. The organization must have SSO previously configured. - [List SSO Users](https://developer.digits.com/reference/ssouserservice_list.md): List all SSO users in the organization. The organization must have SSO configured. - [Audit SSO Users](https://developer.digits.com/reference/ssoauditservice_audit.md): Audit all SSO users in the organization with their current client organization access. - [Get SSO User](https://developer.digits.com/reference/ssouserservice_get.md): Get a single SSO user by their Digits-assigned ID. The organization must have SSO configured. - [Create SSO User](https://developer.digits.com/reference/ssouserservice_create.md): Create a new SSO user. The organization must have SSO configured. A deleted user is reactivated when recreated by the same identity provider, whether under the previous subject identifier or a new one. Recreation from a different identity provider is rejected. Returns the Digits-assigned ID and caller-assigned ID mapping. This operation is synchronous. Requires scope: `user:sync`. - [Delete SSO User](https://developer.digits.com/reference/ssouserservice_delete.md): Delete an SSO user. The organization must have SSO configured. Removes the user and their employee and entity access from the organization and its client organizations. This operation is synchronous. Requires scope: `user:sync`. - [Bulk Delete SSO Users](https://developer.digits.com/reference/ssouserservice_bulkdelete.md): Delete multiple SSO users by Digits-assigned ID or caller-assigned ID. The organization must have SSO configured. Removes each user and their employee and entity access from the organization and its client organizations. This operation is synchronous. Requires scope: `user:sync`. - [List Clients](https://developer.digits.com/reference/organizationclientservice_list.md): List all client organizations affiliated with the organization. - [Get Client](https://developer.digits.com/reference/organizationclientservice_get.md): Get a single client organization by its Digits-assigned ID. - [Create Client](https://developer.digits.com/reference/organizationclientservice_create.md): Provision a new client organization with one or more entities. The client and entity objects are created synchronously, but data provisioning for each entity completes asynchronously. Requires scope: `organization:sync`. - [Bulk Create Clients](https://developer.digits.com/reference/organizationclientservice_bulkcreate.md): Provision multiple client organizations in a single request. Maximum 100 entities total across all clients per request. Each client is created synchronously, but entity data provisioning completes asynchronously. Requires scope: `organization:sync`. - [Delete Client](https://developer.digits.com/reference/organizationclientservice_delete.md): Delete a client organization managed by the caller's organization. The client organization and its entities are removed. Employee bindings in the client organization and entity-role bindings on the client's entities are removed. Users are not deleted. Requires scope: `organization:sync`. - [Bulk Delete Clients](https://developer.digits.com/reference/organizationclientservice_bulkdelete.md): Delete multiple client organizations by Digits-assigned ID or caller-assigned ID. Maximum 100 per request. Client organizations and their entities are removed. Employee bindings in each client organization and entity-role bindings on each client's entities are removed. Users are not deleted. Requires scope: `organization:sync`. - [Update Client Employee](https://developer.digits.com/reference/clientemployeeservice_updateclientemployee.md): Replace a client employee's access within a client organization. The client employee binding must already exist and be active. If it does not exist or is not active, the request fails with NotFound; use Create Client Employee to create or reactivate access. This operation is synchronous and declarative: the client employee's organization role and entity-role bindings within this client organization are replaced by the request body. Requires scope: `organization:sync`. - [Create Client Employee](https://developer.digits.com/reference/clientemployeeservice_createclientemployee.md): Create or reactivate a client employee's access to a client organization. Both the user and client organization must already exist. This operation is synchronous. If the client employee binding already exists and is active, the request fails with AlreadyExists; use Update Client Employee to fully replace access for an active employee binding. When reactivating a client employee, supplied roles are applied and access omitted from the request is not removed. Requires scope: `organization:sync`. - [Get Client Employee](https://developer.digits.com/reference/clientemployeeservice_getclientemployee.md): Get a single client employee within a client organization by their Digits-assigned user ID. - [Delete Client Employee](https://developer.digits.com/reference/clientemployeeservice_deleteclientemployee.md): Remove a client employee's access to a client organization. Removes the client employee binding in the client organization and entity-role bindings for that client's entities. The underlying user and affiliation/client roles are not deleted. Requires scope: `organization:sync`. - [List Client Employees](https://developer.digits.com/reference/clientemployeeservice_listclientemployees.md): List all client employees with access to a client organization. - [Bulk Create Client Employees](https://developer.digits.com/reference/clientemployeeservice_bulkcreateclientemployees.md): Create or reactivate multiple client employees' access across multiple client organizations in a single request. Users and client organizations must already exist. This operation is synchronous. An entry for an already-active employee binding succeeds without changing access when the request matches existing access; otherwise, that entry fails with AlreadyExists. Use Update Client Employee to fully replace access for active employee bindings. When reactivating an employee, supplied roles are applied and access omitted from the entry is not removed. Requires scope: `organization:sync`. - [Bulk Delete Client Employees](https://developer.digits.com/reference/clientemployeeservice_bulkdeleteclientemployees.md): Remove employee access across multiple client organizations by Digits-assigned user ID or caller-assigned user ID. Maximum 100 per request. Removes matching client employee bindings and entity-role bindings for those clients' entities. Underlying users and affiliation/client roles are not deleted. Requires scope: `organization:sync`. - [List Client Entities](https://developer.digits.com/reference/cliententityservice_listentities.md): List all entities within a client organization. - [Get Client Entity](https://developer.digits.com/reference/cliententityservice_getentity.md): Get a single entity within a client organization by its Digits-assigned ID. - [Create Client Entity](https://developer.digits.com/reference/cliententityservice_createentity.md): Create a new entity within a client organization. The entity object is created synchronously, but data provisioning completes asynchronously. Requires scope: `organization:sync`. - [Delete Client Entity](https://developer.digits.com/reference/cliententityservice_deleteentity.md): Delete an entity within a client organization. Removes all employee entity-role bindings for this entity. Requires scope: `organization:sync`. - [Bulk Delete Client Entities](https://developer.digits.com/reference/cliententityservice_bulkdeleteentities.md): Delete multiple client entities by Digits-assigned ID or caller-assigned ID. Maximum 100 per request. Removes all employee entity-role bindings for the specified entities. Requires scope: `organization:sync`. - [Create Client Payment Instrument](https://developer.digits.com/reference/clientpaymentinstrumentservice_create.md): Create or update a payment instrument owned by a client entity. - [Delete Client Payment Instruments](https://developer.digits.com/reference/clientpaymentinstrumentservice_delete.md): Delete client payment instruments by Digits-assigned or caller-assigned IDs. Unknown IDs are skipped. A deleted payment instrument becomes unavailable for any future payments; any in-flight payments continue to use it. - [Query Client Payment Instruments](https://developer.digits.com/reference/clientpaymentinstrumentservice_query.md): Find client payment instruments by Digits-assigned or caller-assigned IDs. - [Receive Webhook Event](https://developer.digits.com/reference/receivewebhookevent.md): Digits sends this JSON request body to your configured webhook endpoint. Return any 2xx response to acknowledge receipt; the response body is ignored. - [Query Workflow Bills](https://developer.digits.com/reference/workflowbillservice_query.md): Query workflow bills visible to the caller. Requires scope: `bills:manage`. - [Get Workflow Bill](https://developer.digits.com/reference/workflowbillservice_get.md): Get a workflow bill by its Digits-assigned ID. Requires scope: `bills:manage`. - [Submit Workflow Bills](https://developer.digits.com/reference/workflowbillservice_submit.md): Submit one or more draft bills for approval. Requires scope: `bills:manage`. - [Approve Workflow Bills](https://developer.digits.com/reference/workflowbillservice_approve.md): Approve one or more bills awaiting approval. Requires scope: `bills:manage`. - [Pay Workflow Bills](https://developer.digits.com/reference/workflowbillservice_pay.md): Pay one or more approved bills, either through Digits-managed payment rails or by recording an external/manual payment. Requires scope: `bills:manage`. - [Reject Workflow Bills](https://developer.digits.com/reference/workflowbillservice_reject.md): Reject one or more bills awaiting approval. Requires scope: `bills:manage`. - [Void Workflow Bills](https://developer.digits.com/reference/workflowbillservice_void.md): Void one or more eligible bills. Requires scope: `bills:manage`. - [Update Workflow Bill Payment Status](https://developer.digits.com/reference/workflowbillservice_updatepaymentstatus.md): Report externally managed payment lifecycle updates for one or more bills. Requires scope: `bills:manage`. - [Delete Workflow Bills](https://developer.digits.com/reference/workflowbillservice_delete.md): Delete one or more pre-approval bills. Requires scope: `bills:manage`. ## Recipes - [Connection Source Setup](https://developer.digits.com/recipes/connection-source-setup.md) - [Application Authorization](https://developer.digits.com/recipes/exchange-authorization-code.md) - [Syncing Transactions](https://developer.digits.com/recipes/syncing-transactions.md) - [Token Exchange](https://developer.digits.com/recipes/token-exchange.md)