Build on HassleFreeBooks
Connect your app, connector or internal tool to the books of any business that uses HassleFreeBooks. A REST API over the whole ledger — invoices, bills, payments, journal entries, contacts, reports — standard OAuth 2.1 so customers connect with one click, signed webhooks, and SDKs for PHP, JavaScript and Python.
Free. No approval queue: your app works the moment you register it.
What you can build
Connectors
Sync sales, payouts, time or inventory from your platform into a customer's books — as invoices, bills or balanced journal entries — and keep it in step with webhooks.
Reporting and dashboards
Read the P&L, balance sheet, cash flow, aging and the general ledger for a business its owner connected, for lenders, investors, or your own analytics.
Practice tools for accountants
Work across the businesses your clients connect, each with exactly the access its owner gave you — read-only for an accountant, write for a bookkeeper.
Your own automations
For scripts that only touch your own books, skip OAuth: create an API key and call the API directly. Zapier, Make and n8n work the same way.
Start in four steps
- Create a developer account. You get a test business of your own to build against — no customer data is ever needed to develop.
- Register an app. Name it, add your redirect URI, pick the scopes. You get a client ID and secret instantly.
- Connect your test business. The app page builds a working authorization link for you, PKCE and all, so you can see the consent screen before writing code.
- Call the API. Exchange the code for tokens and send
Authorization: Bearer hfbat_…tohttps://hasslefreebooks.com/api/v1.
# 1. Send the customer to the consent screen
https://hasslefreebooks.com/oauth/authorize?response_type=code&client_id=hfbc_…&redirect_uri=https://yourapp.example/callback
&scope=read%20write&state=…&code_challenge=…&code_challenge_method=S256
# 2. Exchange the code they bring back
curl -s https://hasslefreebooks.com/oauth/token -u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=authorization_code -d code="$CODE" \
-d redirect_uri=https://yourapp.example/callback -d code_verifier="$VERIFIER"
# 3. Use the access token
curl -s https://hasslefreebooks.com/api/v1/invoices -H "Authorization: Bearer $ACCESS_TOKEN"
Built to be trusted
One business per connection
A customer picks which business to connect. Your token cannot see any other, even if the person who connected it can.
Customers stay in control
Every connection is listed under Settings › Connected apps, where the person — or the business owner — can end it at any time.
Changes never ambush you
Breaking changes ship beside the old behaviour, carry Deprecation and
Sunset headers, and are emailed to the developers whose apps use them, at least 90 days ahead.
The policy.
Watched for abuse
Apps go live instantly; an automated reviewer reads every listing and watches usage, so the few bad actors are stopped without slowing everyone else down.
Recent changes
- added GET /api/v1/merchant/connections: a connection's mode can be "sample" 2026-11-06
- added GET /health reports whether the scheduled jobs are running 2026-11-06
- added AI endpoints answer 503 AI_BUDGET_EXHAUSTED when the deployment's AI spend cap is reached 2026-11-06
- added Receipts are matched to their bank line, and the API can list them and undo a match 2026-11-05