For Agents
Manage FreeAgent invoices with state transitions, log timeslips against projects, record expenses and bills, and reconcile bank transactions for UK small business accounting.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the FreeAgent 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.
# 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 FreeAgent API API.
Issue an invoice and transition it through draft, scheduled, sent, and cancelled states
Log a timeslip against a project task with hours and billable status
Record an out-of-pocket expense or supplier bill with VAT codes
Reconcile bank transactions against invoices, expenses, and bills
GET STARTED
Use for: Create a new invoice for a client and email it to them, I want to log timeslips for a project this week, Record an out-of-pocket expense with VAT receipt, Mark an invoice as sent so it appears in receivables
Not supported: Does not handle payroll, payment processing, or tax filing — use for invoicing, time tracking, expenses, bills, and bank reconciliation only.
Jentic publishes the only available OpenAPI document for FreeAgent API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for FreeAgent API, keeping it validated and agent-ready. FreeAgent is a UK-focused cloud accounting platform used by freelancers, contractors, and small businesses to handle invoicing, expenses, project time tracking, bills, and bank reconciliation. The 66-endpoint OAuth 2.0 REST API covers invoices (with state transitions for sent, scheduled, cancelled), contacts, projects, tasks, timeslips, expenses, bills, bank accounts, bank transactions, and users — enough surface to drive a full bookkeeping workflow programmatically.
Manage contacts (clients and suppliers) with addresses and tax references
Send an invoice to a client by email directly from the API
Patterns agents use FreeAgent API API for, with concrete tasks.
★ Automated Invoicing for Agencies
Generate FreeAgent invoices at the end of each project sprint by pulling logged timeslips, drafting an invoice with billable lines, and emailing it to the client — all without leaving the agency's project tool. Replaces copy-paste between Toggl-style time tools and FreeAgent and shortens the time from work-done to cash-collected.
POST /invoices with line items derived from /timeslips, then PUT /invoices/{id}/transitions/mark_as_sent and POST /invoices/{id}/send_email to deliver it
Bank Reconciliation Sync
Pull bank transactions from FreeAgent, match them against open invoices, expenses, and bills, and surface unreconciled items for human review. The /bank_accounts and /bank_transactions endpoints provide the raw feed; downstream code matches and reconciles based on amount and reference. Cuts month-end close time for small finance teams.
GET /bank_transactions for an account filtered to unreconciled, then match against /invoices and /bills by amount and reference
Expense Capture from Receipts
Wire a receipt-OCR pipeline into FreeAgent so that scanned receipts become structured /expenses entries with VAT codes and project tags. The 66 endpoints include full CRUD on expenses and tying them to projects, so reimbursement and project profitability calculations stay accurate without manual entry.
POST /expenses with the OCR-extracted amount, date, VAT code, and projectId so the expense is recorded against the correct cost centre
AI Agent Bookkeeping via Jentic
An AI bookkeeping agent that handles routine entries ("draft this week's invoices", "reconcile yesterday's bank feed") can call FreeAgent through Jentic. Jentic handles the OAuth 2.0 token refresh and exposes the 66 operations as discoverable tools, so the agent only needs the high-level intent and the entity IDs.
Search Jentic for 'draft and send a freeagent invoice', load the POST /invoices and send_email schemas, and execute against a contactId and project line items
66 endpoints — jentic publishes the only available openapi specification for freeagent api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/invoices
List invoices with filters
/invoices
Create a new invoice
/invoices/{id}/transitions/mark_as_sent
Mark an invoice as sent
/invoices/{id}/send_email
Email an invoice to the client
/contacts
List clients and suppliers
/timeslips
Log time against a project task
/expenses
Record an expense
/bank_transactions
Read bank transactions for reconciliation
/invoices
List invoices with filters
/invoices
Create a new invoice
/invoices/{id}/transitions/mark_as_sent
Mark an invoice as sent
/invoices/{id}/send_email
Email an invoice to the client
/contacts
List clients and suppliers
Three things that make agents converge on Jentic-routed access.
Credential isolation
FreeAgent's OAuth 2.0 tokens (access and refresh) are stored encrypted in the Jentic vault (MAXsystem). Jentic handles the refresh flow, so agents call the 66 operations without ever holding a raw token.
Intent-based discovery
Agents search by intent like 'create a freeagent invoice' and Jentic returns the matching operation across invoices, timeslips, expenses, or bank transactions with input schemas.
Time to first call
Direct FreeAgent integration: 3-5 days to register an OAuth app, handle token refresh, and map the 66 endpoints. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Xero Accounting
Cloud accounting platform with broader international coverage and a wider app marketplace
Choose Xero when the customer is outside the UK or needs a deeper third-party app ecosystem; choose FreeAgent when the focus is UK freelancers and contractors with the simpler workflow.
Faktoora e-Invoicing
EN16931-compliant e-invoicing for EU B2B and B2G that pairs with FreeAgent's UK bookkeeping
Use Faktoora alongside FreeAgent when UK-based customers need to issue invoices into EU public sector or B2B counterparts requiring EN16931 formats.
Sage
Established UK accounting suite with deeper enterprise features but heavier setup
Choose Sage when the business has multi-entity reporting needs and existing payroll integrations; choose FreeAgent when the priority is a clean API and a freelance-friendly product.
Specific to using FreeAgent API API through Jentic.
Why is there no official OpenAPI spec for FreeAgent API?
FreeAgent does not publish an OpenAPI specification, only narrative developer docs. Jentic generates and maintains this spec so that AI agents and developers can call FreeAgent API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the FreeAgent API use?
FreeAgent uses OAuth 2.0 with the authorization code flow. Through Jentic, the client credentials and per-user refresh tokens are stored in the encrypted vault and exchanged automatically so agents call the 66 endpoints without managing token lifetime themselves.
Can I send an invoice to a client via the API?
Yes. POST /invoices/{id}/send_email triggers the email send using the invoice template configured in FreeAgent. Combined with PUT /invoices/{id}/transitions/mark_as_sent, this fully automates the issue-and-deliver step.
How do I move an invoice from draft to sent?
Use the transition endpoints under /invoices/{id}/transitions/. PUT mark_as_sent moves the invoice from draft to sent, mark_as_scheduled queues a future send date, and mark_as_cancelled voids it. The transitions enforce FreeAgent's state machine rather than letting you free-edit the status.
How do I draft an invoice through Jentic?
Run pip install jentic, then search 'create a freeagent invoice'. Jentic returns the POST /invoices operation with its schema. Execute with the contactId, dated_on, and invoice_items; Jentic handles the OAuth token automatically.
Does the API support bank reconciliation against transactions?
Yes. GET /bank_transactions returns transactions with their reconciliation status. You match against /invoices, /bills, and /expenses by amount and reference, then post the reconciliation. The endpoints support filtering by date range and account so you can sync incrementally.
/timeslips
Log time against a project task
/expenses
Record an expense
/bank_transactions
Read bank transactions for reconciliation