APX Ledger
The APX Ledger API reads a company’s books with their owner’s consent: contacts, invoices, credit notes, payments and invoice PDFs, with incremental sync built in. Amounts are integer cents in each document’s own currency, and every balance is computed by the same code the product’s own screens use — what you download is what the owner sees.
Two credentials, one API. A company can mint a read-only API key under Settings → API access — right for scripts and internal tools. An application acting for its own users goes through OAuth2: the user approves exactly which companies it may read on APX Ledger’s consent screen, and access follows their membership — leave a company, and every app you connected loses it that moment. APX Ledger is also an OpenID Connect provider, so “Sign in with APX” works anywhere “Sign in with Google” does; discovery lives at /.well-known/openid-configuration.
GET /api/v1/connectionsThe companies this credential can readGET /api/v1/companies/{id}/contactsCustomers and suppliersGET /api/v1/companies/{id}/invoicesInvoices, with settled and due amountsGET /api/v1/companies/{id}/credit-notesCredit notesGET /api/v1/companies/{id}/invoices/{invoiceId}One document, lines and settlementsGET /api/v1/companies/{id}/invoices/{invoiceId}/pdfThe document's PDFGET /api/v1/companies/{id}/paymentsSettlements: cash and credit applicationsPOST /api/v1/companies/{id}/webhooksHear about changes within a minuteEvery list endpoint takes ?updatedSince= and cursor pagination, so a nightly sync pulls only what changed. Webhooks deliver a signed, thin “these books changed” ping within about a minute — counts only, never data — and your receiver answers with the incremental sync it already runs.
The machine-readable truth is the OpenAPI document at /api/v1/openapi.json — generated from the same schemas the API is tested against, so it cannot drift. Point any OpenAPI viewer or client generator at it. Third-party client registration for OAuth2 is by arrangement while the platform is young: developers@apxsolutions.ca.