For Agents
Push bank transactions from a financial institution or fintech platform directly into a customer's accounting software as a native bank feed.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Bank Feeds, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Bank Feeds API.
Provision a Bank Feeds connection between a bank account and a customer's accounting platform
Map source bank accounts to target ledger accounts in QuickBooks, Xero, or Sage
Post bank transactions to the customer's accounting software via the configured feed
Trigger and monitor scheduled syncs to confirm transactions reached the destination ledger
GET STARTED
Use for: I want to set up a bank feed from a customer's bank account to QuickBooks, Push today's bank transactions into the customer's Xero ledger, Map a source bank account to a target chart-of-accounts entry, Check whether the last sync to the accounting platform succeeded
Not supported: Does not handle reading the accounting ledger, payment processing, or direct bank account aggregation — use for posting bank transactions into a customer's accounting platform as a native bank feed only.
Codat's Bank Feeds API lets banks, neobanks, and spend management platforms push transaction data directly into a customer's accounting software as a native bank feed. It manages company and connection lifecycle, source-to-target account mapping, sync configuration, and transaction posting so an end-customer's QuickBooks, Xero, or Sage automatically receives the bank's transactions without CSV imports. The API also exposes sync status endpoints so platforms can monitor whether each daily push reached the destination ledger.
Manage company and connection records so platforms can track each end-customer's feed
Configure feed-level settings such as currency, source account, and posting cadence
Retrieve company information and authorisation tokens needed for hosted bank feed onboarding
Patterns agents use Bank Feeds API for, with concrete tasks.
★ Bank-Owned Accounting Bank Feed
Banks and neobanks use the Bank Feeds API to deliver bank transactions to small business customers' accounting software as a native feed, branded as the bank's own integration. The /companies/{companyId}/sync/banking/config and /sync/banking endpoints handle configuration and posting so the bank can offer same-day reconciliation in QuickBooks or Xero without building per-platform connectors.
Create a bank-feeds connection for company {companyId}, map source account {sourceId} to target ledger account, and run an initial sync.
Spend Management Reconciliation
Spend management and corporate card platforms use Bank Feeds to write the platform's own transactions into the customer's accounting ledger. Instead of asking finance teams to import CSVs, the platform posts each transaction through the configured feed so they appear in the customer's QuickBooks or Xero bank-feed view ready for matching against bills.
Post a batch of 50 card transactions for company {companyId} to the configured bank feed and confirm the sync status reached 'Success'.
Embedded Finance Treasury Visibility
Embedded finance providers running treasury or operating-account products use Bank Feeds so customers see their balance and transactions inside their existing accounting software. The /companies/{companyId}/connections endpoints manage connection lifecycle and the /sync/banking/syncs/lastSuccessful/status endpoint lets the platform display feed health back to the customer.
List all bank-feeds connections for company {companyId}, then fetch the last successful sync status for each.
AI Agent Sync Monitor
AI agents that monitor finance integrations use Bank Feeds through Jentic to detect failed syncs and remediate them. The agent searches Jentic for 'check bank feed sync status', loads the operation, and polls /sync/banking/syncs/lastSuccessful/status across companies, raising tickets when a sync has not completed in 24 hours. Jentic handles credential isolation so the Codat API key never enters the agent runtime.
Search Jentic for 'last successful bank feed sync', load the operation, and report any company where the last sync is older than 24 hours.
32 endpoints — codat's bank feeds api lets banks, neobanks, and spend management platforms push transaction data directly into a customer's accounting software as a native bank feed.
METHOD
PATH
DESCRIPTION
/companies
Create a company record for a bank-feed customer
/companies/{companyId}/connections
Create a connection to the target accounting platform
/companies/{companyId}/connections/{connectionId}/data/bankAccounts
List bank accounts visible to the connection
/companies/{companyId}/sync/banking/config
Retrieve the current bank-feed sync configuration
/companies/{companyId}/sync/banking/syncs/lastSuccessful/status
Check the status of the most recent successful sync
/companies
Create a company record for a bank-feed customer
/companies/{companyId}/connections
Create a connection to the target accounting platform
/companies/{companyId}/connections/{connectionId}/data/bankAccounts
List bank accounts visible to the connection
/companies/{companyId}/sync/banking/config
Retrieve the current bank-feed sync configuration
/companies/{companyId}/sync/banking/syncs/lastSuccessful/status
Check the status of the most recent successful sync
Three things that make agents converge on Jentic-routed access.
Credential isolation
Codat API keys are stored encrypted in the Jentic vault. Agents receive a scoped execution token at runtime; the 'Basic' Authorization header is constructed inside Jentic and never reaches the agent.
Intent-based discovery
Agents search Jentic by intent (e.g. 'post bank transactions to accounting software') and Jentic returns the matching Bank Feeds operation with its input schema, so the agent does not need to navigate the 32 paths manually.
Time to first call
Direct Codat Bank Feeds integration: 1-3 weeks for auth, mapping flow, and per-platform onboarding quirks. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Codat Banking API
Reads bank data from connected accounts rather than pushing transactions into accounting platforms
Use Banking when the agent needs to read bank transactions; use Bank Feeds when the agent needs to push transactions into a customer's accounting software.
Codat Accounting API
Provides full read and write access to the accounting ledger that Bank Feeds posts into
Use Accounting when the agent needs ledger-wide read or write; use Bank Feeds for the narrow task of posting bank transactions as a native feed.
Codat Sync for Expenses
Pushes expense transactions and receipts into accounting platforms
Use Sync for Expenses when the agent needs to write expense-style transactions; use Bank Feeds when posting raw bank-feed transactions.
Specific to using Bank Feeds API through Jentic.
What authentication does the Codat Bank Feeds API use?
The API uses an API key passed in the Authorization header as 'Basic <base64-encoded-key>'. The single security scheme in the spec is named auth_header. Through Jentic, the Codat API key is stored encrypted in the vault and the Authorization header is constructed inside Jentic, so the agent never sees the raw key.
Can I post transactions into QuickBooks with the Bank Feeds API?
Yes. After creating a connection and mapping source accounts to target ledger accounts, post transactions via the bank-feeds transactions endpoints under /companies/{companyId}. Transactions then appear in the customer's QuickBooks bank-feed view ready to match against bills and invoices.
What are the rate limits for the Codat Bank Feeds API?
Codat does not publish a fixed rate limit in the OpenAPI spec; limits are governed at the company and connection level and depend on the destination accounting platform's own limits. Codat returns HTTP 429 with a Retry-After header when limits are hit and recommends exponential backoff for retries.
How do I check whether a bank-feed sync succeeded through Jentic?
Search Jentic for 'last successful bank feed sync', load the GET /companies/{companyId}/sync/banking/syncs/lastSuccessful/status operation, and execute it with the company ID. Install with pip install jentic and use the standard async search, load, and execute flow.
Which accounting platforms does the Bank Feeds API support?
Codat's Bank Feeds product supports QuickBooks Online, Xero, and Sage as primary destinations, with the same endpoint surface used regardless of target platform. The /companies/{companyId}/connections call selects the target during connection creation.
Can I map multiple source bank accounts to one accounting ledger account?
Yes. The /companies/{companyId}/connections/{connectionId}/sync/banking endpoints expose source-to-target account mapping so multiple source accounts can feed into a single target account in the customer's chart of accounts, depending on the destination platform's rules.