Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the LEXZUR Money API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fapp4legal.dev%2Fapp4legal" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fapp4legal.dev%2Fapp4legal" | 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 LEXZUR Money API.
List and create accounts via /accounts and /accounts/{id}
Bulk-import accounts using /accounts/import for migration scenarios
Manage analytic accounts and reusable templates via /analytic-accounts and /analytic-account-templates
Run bank reconciliations and load reconciliation transactions
Update bill status and walk approval steps via /bills/update-status/{id}
GET STARTED
Post credit notes against client invoices
Define and read bill custom fields for firm-specific data
Patterns agents use LEXZUR Money API for, with concrete tasks.
★ Bill Approval Workflow Automation
Move bills through firm approval steps without manual portal clicks by reading /bills/get-approval-steps/{id}, identifying the next required approver, and calling /bills/update-status/{id} once approval is recorded upstream. This is useful for firms that have approval logic in a separate system and want LEXZUR's status to reflect the source-of-truth automatically.
Fetch GET /bills/get-approval-steps/{id} for the bill, confirm the upstream approval, and call POST /bills/update-status/{id} to advance the bill to the next state
Bank Reconciliation Sync
Pull bank transactions from the firm's bank feed and submit them to LEXZUR via /bank-reconciliations/transactions, then create a reconciliation entry via /bank-reconciliations and export the result via /bank-reconciliations/export-excel/{id} for the partner who needs an offline copy. This removes the manual CSV upload that finance teams typically run at month-end.
Submit transactions via POST /bank-reconciliations/transactions, create the reconciliation via POST /bank-reconciliations, and download the Excel export from /bank-reconciliations/export-excel/{id}
Chart-of-Accounts Migration
Migrate accounts from a legacy practice-management system into LEXZUR by calling /accounts/import with a batch payload rather than creating accounts one at a time. This is the recommended path during firm consolidation or when standardising the chart of accounts across multiple offices, and the import endpoint reports per-row success or failure.
Read the legacy chart of accounts CSV, transform to the LEXZUR import schema, and POST to /accounts/import with the batch payload
Credit Note Posting from Customer Service
Issue credit notes against client invoices in response to billing disputes by calling /credit-notes with the client ID, invoice reference, and amount. The agent can be wired into a CRM ticket flow so that when a partner approves a credit, LEXZUR is updated immediately rather than at the end of the day during manual close.
On approved credit ticket, call POST /credit-notes with client ID, invoice reference, and amount, then confirm by fetching the credit note ID
Agent-Run Firm Accounting
Let an AI agent answer partner questions about firm finances by exposing LEXZUR Money operations through Jentic. The agent searches for the right operation, loads the schema, and executes, never holding the bearer token, which matters because LEXZUR tokens grant write access to firm bills and reconciliations.
Search Jentic for 'list bank reconciliations this month', load the GET /bank-reconciliations schema, and execute with the date filter from the partner's question
31 endpoints — the lexzur money api (formerly app4legal) gives legal-practice management teams a finance-focused interface covering accounts, analytic accounts, bank reconciliations, bills, credit notes, and client trust accounts.
METHOD
PATH
DESCRIPTION
/accounts
List accounts
/accounts/import
Bulk-import accounts
/bank-reconciliations
List bank reconciliations
/bank-reconciliations/transactions
Submit reconciliation transactions
/bills/get-approval-steps/{id}
Get bill approval steps
/bills/update-status/{id}
Update bill status
/credit-notes
List credit notes
/clients/{id}/accounts
List client trust accounts
/accounts
List accounts
/accounts/import
Bulk-import accounts
/bank-reconciliations
List bank reconciliations
/bank-reconciliations/transactions
Submit reconciliation transactions
/bills/get-approval-steps/{id}
Get bill approval steps
/bills/update-status/{id}
Update bill status
/credit-notes
List credit notes
/clients/{id}/accounts
List client trust accounts
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the LEXZUR Money API by hand means learning its bearer auth and threading bill and client ids through its finance paths yourself. Through Jentic you install once, import the LEXZUR Money API from the API Directory, store the token once, and your agent calls it.
Permission scoping
LEXZUR puts bill and client ids in the URL path (/bills/get-approval-steps/{id}, /clients/{id}/accounts), so a rule can pin your agent to specific bills or client accounts. You choose the operations it may call, so writes like updating a bill status or importing accounts are not included unless you add them.
Credential isolation
Your LEXZUR bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'update a bill status' or 'run a bank reconciliation', and Jentic returns the matching bills or bank-reconciliations operation with its input schema so the agent calls the right endpoint without studying the LEXZUR resource graph up front.
Alternatives and complements available in the Jentic catalogue.
Specific to using LEXZUR Money API through Jentic.
What authentication does the LEXZUR Money API use?
Bearer token in the Authorization header. Tokens are issued from the LEXZUR portal. Through Jentic the bearer token is stored encrypted in the vault (your Jentic One instance) and never enters agent context - agents receive scoped access only.
Can I update a bill's status through this API?
Yes. POST /bills/update-status/{id} advances the bill, and GET /bills/get-approval-steps/{id} returns the configured approval chain so you can confirm the next required approver before transitioning.
What are the rate limits for the LEXZUR Money API?
The OpenAPI spec does not publish explicit rate limits. Limits are governed by your LEXZUR plan tier - contact the LEXZUR support team for your firm's quota before high-volume reconciliation imports.
How do I run a bank reconciliation through Jentic?
Run pip install jentic, then search 'run a bank reconciliation in lexzur'. Jentic returns the bank-reconciliations operations with their input schemas - load the schema, submit the transactions, and execute. The agent never sees the bearer token.
Can I bulk-import accounts during a migration?
Yes. POST /accounts/import accepts a batch payload and reports per-row success or failure. Use this rather than calling POST /accounts in a loop, both for performance and for the consolidated import diagnostics.
What custom fields can I configure on bills?
Custom fields are defined via /bill-custom-fields and read via /bill-custom-fields/{id}. Once created, the fields appear on bill payloads so firm-specific metadata (matter type, billing partner, retainer reference) can be enforced through the API.
Can I limit what my agent is allowed to do with the LEXZUR Money API?
Yes. Because you run your own self-hosted Jentic One instance, your rules decide which LEXZUR Money operations and credentials the agent may use. You choose the operations it can call, so writes such as updating a bill status via POST /bills/update-status/{id} or bulk-importing accounts via POST /accounts/import are excluded unless you add them. Since LEXZUR puts bill and client ids in the URL path, like /bills/get-approval-steps/{id} and /clients/{id}/accounts, a rule can pin the agent to specific bills or client trust accounts.
For Agents
Manage law-firm accounting in LEXZUR - list accounts, run bank reconciliations, update bills, and post credit notes - so an agent can keep the books up to date from outside the LEXZUR UI.
Use for: I need to update the status of a specific bill, List all bank reconciliations for the current month, Import a batch of chart-of-accounts entries, Create a credit note against a client invoice
Not supported: Does not handle case management, court filings, or client communication - use for LEXZUR finance operations (accounts, bills, reconciliations, credit notes) only.
The LEXZUR Money API (formerly App4Legal) gives legal-practice management teams a finance-focused interface covering accounts, analytic accounts, bank reconciliations, bills, credit notes, and client trust accounts. Operations support account import, reconciliation transaction loads, bill approval steps, and analytic account templates so accounting workflows specific to law firms can run programmatically. Authentication uses bearer tokens issued from the LEXZUR portal.