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.
Get started with LEXZUR Money API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"update a lexzur bill status"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with LEXZUR Money API 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
GET STARTED
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.
Update bill status and walk approval steps via /bills/update-status/{id}
Post credit notes against client invoices
Define and read bill custom fields for firm-specific data
Patterns agents use LEXZUR Money API 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
Three things that make agents converge on Jentic-routed access.
Credential isolation
LEXZUR bearer tokens are stored encrypted in the Jentic vault (MAXsystem). Agents call write-capable operations (bill status, credit notes, reconciliations) through scoped tokens — the raw firm-level token never enters agent context.
Intent-based discovery
Agents search by intent (e.g. 'update a bill status' or 'run a bank reconciliation') and Jentic returns the matching bills or bank-reconciliations operations with their input schemas, so the agent does not need to study the LEXZUR resource graph up front.
Time to first call
Direct LEXZUR integration: 2-3 days for auth, approval-step modelling, and reconciliation pagination. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Xero Accounting API
Xero is a general-purpose accounting platform without legal-specific workflows
Pick Xero for cross-industry SMB accounting; pick LEXZUR Money for matter-level legal practice accounting
Buildium API
Buildium covers property management accounting workflows that complement legal-firm accounting
Use Buildium for property-management trust accounting; use LEXZUR Money for law-firm trust and operating accounting
AppFolio Stack API
AppFolio handles property management bills and tenant accounting for verticals adjacent to legal
Use AppFolio when the firm also manages real estate; LEXZUR Money for legal-only finance ops
Specific to using LEXZUR Money API 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 (MAXsystem) 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.
/bills/update-status/{id}
Update bill status
/credit-notes
List credit notes
/clients/{id}/accounts
List client trust accounts