API reference¶
The SAE Books HTTP API. Every accounting operation — journal entries, invoices, payments, reports, reconciliation — is an API endpoint. The browser UI is a consumer of the same API your integration code would use.
Two ways to explore the API¶
Interactive docs (Swagger UI) — every install ships its own Swagger UI at /api/v1/docs. Hit "Try it out" on any endpoint, authenticate with a bearer token, and make real calls against your data.
https://app.saebooks.com.au/api/v1/docs # hosted demo
http://localhost:8042/api/v1/docs # your local install
Raw OpenAPI spec — the machine-readable schema is at /api/v1/openapi.json. Feed it to your code generator of choice.
Generated reference on this site — Endpoints (generated) renders the OpenAPI schema into this documentation site. Use it for quick lookups without leaving the docs.
Before you make your first call¶
Read in order:
- Authentication — how to obtain a token and keep it fresh
- Conventions — URL shape, error format, pagination, idempotency, optimistic locking
Endpoint groups¶
| Group | Base path | What it covers |
|---|---|---|
| Auth | /api/v1/auth/ |
Login, signup, email verification, password reset, magic link, WebAuthn |
| API tokens | /api/v1/api-tokens/ |
Long-lived machine API tokens (issue, list, revoke) |
| Users | /api/v1/users/ |
User management within a tenant |
| Companies | /api/v1/companies/ |
Company settings, multi-company (Enterprise) |
| Branches | /api/v1/branches/ |
Sub-branches within a company |
| Contacts | /api/v1/contacts/ |
Customers and vendors |
| Accounts | /api/v1/accounts/ |
Chart of accounts |
| Tax codes | /api/v1/tax_codes/ |
GST, GST-free, export, etc. |
| Items | /api/v1/items/ |
Products and services for invoicing |
| Journal entries | /api/v1/journal_entries/ |
The ledger — double-entry core |
| Invoices | /api/v1/invoices/ |
Sales invoices (AR) |
| Bills | /api/v1/bills/ |
Purchase bills (AP) |
| Payments | /api/v1/payments/ |
Customer payments + bill payments |
| Credit notes | /api/v1/credit_notes/ |
Sales credit notes |
| Supplier credit notes | /api/v1/supplier_credit_notes/ |
Purchase-side credit notes |
| Quotes | /api/v1/quotes/ |
Sales quotes |
| Purchase orders | /api/v1/purchase_orders/ |
PO lifecycle + convert-to-bill |
| Expenses | /api/v1/expenses/ |
Cash / card expenditure |
| Receipts | /api/v1/receipts/ |
Receipts linked to expenses |
| Transfers | /api/v1/transfers/ |
Between own bank accounts |
| Intercompany | /api/v1/intercompany/ |
Reciprocal inter-entity postings |
| Reclassifications | /api/v1/reclassifications/ |
Reclassify posted transactions |
| Bank accounts | /api/v1/bank_accounts/ |
Bank account registry |
| Bank statement lines | /api/v1/bank_statement_lines/ |
Imported transactions + matching |
| Bank feeds | /api/v1/bank-feeds/ |
Automated bank feed connections |
| Bank rules | /api/v1/bank_rules/ |
Auto-coding rules for bank feed lines |
| Reconciliation | /api/v1/reconciliation/ |
Match statement lines to journal entries |
| Fixed assets | /api/v1/fixed_assets/ |
Asset register, depreciation, disposal |
| Depreciation models | /api/v1/depreciation_models/ |
Depreciation rate / method definitions |
| Projects | /api/v1/projects/ |
Segments / cost centres |
| Recurring invoices | /api/v1/recurring_invoices/ |
Scheduled invoice generation |
| Budgets | /api/v1/budgets/ |
Budget entries + variance reporting |
| Allocations | /api/v1/allocation_rules/ |
Cost allocations across segments |
| Cashbook | /api/v1/cashbook/ |
Cash-basis ledger entries |
| Period close | /api/v1/period-close/ |
Lock / unlock accounting periods |
| Proration | /api/v1/proration/ |
Period-prorated revenue calculation |
| Reports | /api/v1/reports/ |
P&L, balance sheet, BAS, aged receivables, etc. |
| Employees | /api/v1/employees/ |
Employee register |
| Time entries | /api/v1/time-entries/ |
Time tracking |
| Leave | /api/v1/leave/ |
Employee leave requests |
| Pay runs | /api/v1/pay-runs/ |
Payroll pay runs |
| STP submissions | /api/v1/stp-submissions/ |
Single Touch Payroll |
| Super funds | /api/v1/super-funds/ |
Superannuation fund registry |
| Super lodgements | /api/v1/super_lodgements/ |
Super payment lodgements |
| TPAR | /api/v1/tpar/ |
Taxable payments annual report |
| Tax returns | /api/v1/tax_returns/ |
Tax return records |
| Statements | /api/v1/statements/ |
Supplier statements |
| Statement templates | /api/v1/statement-templates/ |
Statement template management |
| Attachments | /api/v1/attachments/ |
File attachments on records |
| Documents | /api/v1/documents/ |
AI-powered document extraction |
| Imports | /api/v1/imports/ |
CSV / bank statement import |
| Audit log | /api/v1/audit-log/ |
Immutable audit trail |
| Search | /api/v1/search |
Full-text across contacts, invoices, journals |
| Changes | /api/v1/changes |
Audit change log |
| Snapshot | /api/v1/snapshot/ |
Tenant data snapshot / export |
| Licence | /api/v1/license/ |
Current licence state + refresh |
| Lodgement | /api/v1/lodgement/ |
ATO SBR probe (Enterprise) |
| Health | /healthz, /version |
Liveness, version |
Hand-written notes¶
The hand-written endpoint notes cover the same API but narrated: pagination patterns, idempotency gotchas, why certain endpoints are shaped the way they are, and the soft-delete vs hard-delete distinction. Read those if you're new to the API; use the generated reference once you know what you're looking for.
Are you an LLM reading this?¶
There are machine-readable indexes at /llms.txt and /llms-full.txt. The raw OpenAPI document is at /api/v1/openapi.json — feed it directly to a code generator rather than scraping this site.
See also the LLM agent integration guide.