Product
Jentic OSThe workplace. An in-house AI platform for every employeeJentic OneSafe access. Agents reach your systems without holding keysJentic AIRThe foundation. Gets your existing platforms ready for AI
Pricing
Developers

GET STARTED

API DirectoryBrowse 10,000+ APIs Ready For AI Agent IntegrationDocumentationGuides and API reference

TOOLS

API ScoringCheck your AI Readiness using our scorecardArazzo UIVisualize Arazzo Workflows As Interactive DocumentationArazzo EditorBuild And Edit Multi-Step API Workflows Visually

COMMUNITY

GitHubOpen source projects and examplesOpen StandardsBuilt on open specs. Never locked in.
Resources
Company
About UsOur mission and teamCareersJoin our teamContactGet in touch
Try it now
Jentic OSJentic OneJentic AIR
Pricing
API DirectoryDocumentationAPI ScoringArazzo UIArazzo EditorGitHubOpen Standards
Resources
About UsCareersContact
Try it now
JenticJentic
Products
  • Jentic OS
  • Jentic One
  • Jentic AIR
For Developers
  • API Directory
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
  • Trust Centre
ISO/IEC 27001:2022 certification badge issued by Prescient SecurityISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

Terms & Conditions•Privacy Policy•
© 2026 Jentic Technology Ltd. All rights reserved.
Switch to light modeSwitch to dark mode
APIs / Finance / FreeAgent API
FreeAgent API logo

FreeAgent API

Agent-ready OpenAPI document · curated by JenticFinanceAccountingoauth266 EndpointsREST

Know of an official OpenAPI document? Contribute it →

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.

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 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.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the FreeAgent API to your agent

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.

Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.

1

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%2Fapi.freeagent.com%2Ffreeagent" | sh
2

Step 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%2Fapi.freeagent.com%2Ffreeagent" | sh
jentic register       # connects your agent to your Jentic One instance

Jentic 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.

Capabilities

What an agent can do with FreeAgent 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

Manage contacts (clients and suppliers) with addresses and tax references

Send an invoice to a client by email directly from the API

Use Cases

Patterns agents use FreeAgent 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

Key Endpoints

66 endpoints — jentic publishes the only available openapi specification for freeagent api, keeping it validated and agent-ready.

METHOD

PATH

DESCRIPTION

GET

/invoices

List invoices with filters

POST

/invoices

Create a new invoice

PUT

/invoices/{id}/transitions/mark_as_sent

Mark an invoice as sent

POST

/invoices/{id}/send_email

Email an invoice to the client

GET

/contacts

List clients and suppliers

POST

/timeslips

Log time against a project task

POST

/expenses

Record an expense

GET

/bank_transactions

Read bank transactions for reconciliation

GET

/invoices

List invoices with filters

POST

/invoices

Create a new invoice

PUT

/invoices/{id}/transitions/mark_as_sent

Mark an invoice as sent

POST

/invoices/{id}/send_email

Email an invoice to the client

GET

/contacts

List clients and suppliers

POST

/timeslips

Log time against a project task

POST

/expenses

Record an expense

GET

/bank_transactions

Read bank transactions for reconciliation

Why Jentic?

What agents get from Jentic-routed access to this vendor.

Setup

Setup

Wiring FreeAgent by hand means running its OAuth2 flow and coding your own calls to the invoices, timeslips, expenses, and bank transaction endpoints. Through Jentic you install once, import the FreeAgent API from the API Directory, store the token once, and your agent calls it.

Permission scoping

Permission scoping

FreeAgent puts the invoice id in the URL path (/invoices/{id}/transitions/mark_as_sent, /invoices/{id}/send_email), so a rule can pin your agent to acting on one invoice. You choose the operations it may call, so sending an invoice email is not included unless you add it.

Credential management

Credential isolation

Your FreeAgent 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

Intent-based discovery

Agents search Jentic by intent such as 'create an invoice' or 'list bank transactions', and Jentic returns the matching FreeAgent operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Alternative

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.

Complementary

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.

Alternative

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.

FAQs

Specific to using FreeAgent 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 with Jentic One, the self-hosted execution layer.

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.

Can I limit what my agent is allowed to do with the FreeAgent API?

Yes. Because you run Jentic One yourself, your own rules decide which of the 66 FreeAgent operations the agent may call and which credentials it may use, so you can grant read-only access to GET /bank_transactions and GET /invoices while withholding write actions. Since FreeAgent puts the invoice id in the URL path, such as PUT /invoices/{id}/transitions/mark_as_sent and POST /invoices/{id}/send_email, a rule can pin the agent to acting on a single invoice. Sending an invoice email is not available to the agent unless you explicitly add that operation to its allowed set.

GET STARTED

Start building with FreeAgent API

Explore with Jentic One
View OpenAPI Document