Skip to content

API reference

Every route api.billingmart.com answers, read from the OpenAPI document the server publishes: 333 operations in 14 sections. A connection given every scope an assistant may hold is offered 323 tools: the API operations under their tool names, plus search and fetch.

Before the first call

Four things every route shares

Read these once. Each section below assumes them.

Base URL

https://api.billingmart.com/v1. The version is in the path. Our build checks every contract against a recorded baseline for a removed or renamed field.

Authentication

Authorization: Bearer with an API key (bmk_live_… or bmk_test_…). An OAuth access token works only against the MCP service.

Envelope

Success is { data, meta }. Failure is { error: { code, message, fields? }, meta }.

Money

Integer minor units with the currency beside them. The server computes every total.

14 sections

Browse by what you are building

Each section is one page: the routes in it, their parameters and bodies, what they return, and the objects they return.

The workspace a credential acts in, its plan, how it pays for it, usage and AI credits, the connection an assistant holds, the people, keys and apps with access, and resetting a sandbox to its demo data.

and 26 more

Clients

7 routes

The people and companies you bill. Contact details come back masked unless the credential holds contacts:read.

and 2 more

Invoices

53 routes

Drafts, lines, deposits, progress billing and reminders. Every write here produces or edits a draft; sending is an action, approved by a person or the owner’s capped rule.

and 48 more

Estimates

6 routes

Quotes before the work, converted into an invoice once the client accepts.

and 1 more

Payments

18 routes

What was paid, how, and what is still owed. Recording and refunding are API-key scopes or approved actions, never a connected assistant on its own.

and 13 more

Schedules that raise invoices on their own, the reminder cadence, and what the scheduled jobs will do next.

and 2 more

Work logged during the month, billed onto an invoice exactly once, and paper read from a photo or PDF into a draft a person files. A CSV of clients, items or open invoices can be dry-run here; a person runs the import in the console.

and 20 more

The other side of the ledger: vendors, the bills they send, and what has been paid against them.

and 14 more

Ageing, income, tax, settlement and reconciliation, computed from stored amounts, plus the accounting export.

and 15 more

How an invoice and its pay page look. Drafts only; publishing is an approved action.

and 6 more

The delivery log of every email and text, the audit trail of who did what, and your own notifications and their settings.

and 3 more

Anything that sends, moves money or changes the workspace is proposed here and waits for a signed-in person, or for the owner’s capped rule.

and 104 more

Webhooks

9 routes

Endpoints BillingMart signs and posts events to, and the log of every attempt.

and 4 more

How a business sets up its work records: its terminology, the record types it can use, the industry packs it can adopt and the setup questions a pack asks. A record type is saved here as a draft; publishing it is an approved action.

and 5 more

41 scopes that routes name

Scopes

A credential holds a set of scopes. Each route needs the scope on its entry, and a few also need a second one, which their summary says. A write scope also reads what it writes.

Scopes and how many routes need each
ScopeRoutes that need it
actions:admin37
actions:deliver14
actions:money22
actions:propose3
actions:read3
actions:records31
activity:read2
admin:read12
bills:approve2
bills:read8
bills:write11
business:read19
clients:read4
clients:write6
estimates:read2
estimates:write4
expenses:read1
expenses:write3
invoices:read6
invoices:write21
jobs:read21
jobs:write19
messages:read3
mileage:read1
mileage:write2
organizer:read2
organizer:write4
payments:notes1
payments:read12
payments:record1
payments:refund1
recurring:read2
recurring:write3
reports:read17
sandbox:reset1
templates:read5
templates:write7
time:read3
time:write7
webhooks:manage7
workConfig:write3
Start here

How a request is handled

Rate limits, idempotency, environments, errors and the envelope, in the order the server applies them.

Read the REST guide →

Get a test key

Every workspace has a sandbox. A bmk_test_ key works only there, so nothing you try reaches a real customer.

We use Google Analytics on our website by default to understand visits. Choose Decline to turn it off; you can change this at any time on the Cookies page. We never send Google your name, email or account. Cookie policy