Source: https://billingmart.com/developers # The API the console runs on One registry of operations produces the REST route, the MCP tool and the OpenAPI document, so what your code can do and what an assistant can do are the same list, except the operations that are REST only (11 of the 328) and those that take scopes an API key can hold and an assistant cannot, such as recording or refunding a payment. An assistant is offered 318 tools: the operations its scopes allow, plus search and fetch. Writes make drafts. Sending is a request for both: an API key’s waits for a signed-in person, and an assistant’s follows its connection’s mode. In Ask, the default, each request waits for a signed-in person to approve it; Plan is a dry run that saves, sends and charges nothing; in Auto, which only the workspace owner can switch on for a connection (signing in again with a second factor, on a plan with auto-approve rules), the owner’s capped rule approves the requests it covers, and for a connected assistant refunds, voids, card or bank entry and the other never-auto requests still wait for a person. [Browse the API reference](https://billingmart.com/developers/api) [OpenAPI document](https://api.billingmart.com/v1/openapi.json) Your first call: a draft invoice Sample ``` curl -X POST "https://api.billingmart.com/v1/invoices" \ -H "Authorization: Bearer $BILLINGMART_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "businessId": "", "clientId": "", "lineItems": [{ "description": "Panel upgrade, 200 A", "quantityMilli": 1000, "rateBasis": "fixed", "unitPrice": { "minorUnits": 185000, "currency": "USD" } }] }' # 201 → { "data": { "id": "…", "status": "draft", "totals": { … } }, # "meta": { "requestId": "…" } } ``` operations 328 reference sections 14 MCP tools, every scope granted 318 scopes that routes name 41 Guides ## Read these before you write code Seven short guides. Each one is the rules a part of the platform follows, and why. 01 · REST v1 ### [REST API](https://billingmart.com/developers/rest) One base URL, one envelope, integer money, idempotent writes, and limits that answer with a number instead of a timeout. 02 · API keys · OAuth 2.1 ### [Authentication](https://billingmart.com/developers/authentication) An API key is for a server you run. An OAuth grant is for an app a person connects, and it can never hold more than that person may do. 03 · Model Context Protocol ### [MCP server](https://billingmart.com/developers/mcp) Every tool is a REST v1 call under the connecting person’s grant. Anything that sends or moves money becomes a request, and the connection’s mode — Ask, Plan or Auto — decides who approves it. 04 · Claude · ChatGPT · Gemini ### [Connect an assistant](https://billingmart.com/developers/connect) Claude and Claude Code, ChatGPT with a custom connector, Gemini Enterprise, Gemini Business and the Gemini CLI. Each page says which steps we have run against the platform and which we have not. 05 · Signed events ### [Webhooks](https://billingmart.com/developers/webhooks) BillingMart signs every delivery with a secret that is shown to you once and kept sealed on our servers, retries with backoff, and keeps a log of every attempt. 06 · Suggest · confirm · report ### [Tax categories](https://billingmart.com/developers/tax-categories) Read the categories, ask for a suggestion, and read each record’s category. A suggestion is a draft: a person confirms it, in the console or the app. 07 · Types · answers · documents ### [Work records](https://billingmart.com/developers/work-records) Read the record type first, send each answer in the form its question takes, check before you move a record, and upload a document in three calls. Activating, issuing and delivering stay with a person. API reference ## 328 operations, 14 sections Parameters, request bodies, what each route returns and the scope it needs, generated from the document the server publishes. ### [Workspace and access](https://billingmart.com/developers/api/workspace) 28 routes ### [Clients](https://billingmart.com/developers/api/clients) 7 routes ### [Invoices](https://billingmart.com/developers/api/invoices) 53 routes ### [Estimates](https://billingmart.com/developers/api/estimates) 6 routes ### [Payments](https://billingmart.com/developers/api/payments) 17 routes ### [Recurring and automation](https://billingmart.com/developers/api/recurring) 7 routes ### [Time, expenses, mileage and documents](https://billingmart.com/developers/api/capture) 25 routes ### [Bills and vendors](https://billingmart.com/developers/api/payables) 19 routes ### [Reports and exports](https://billingmart.com/developers/api/reports) 20 routes ### [Templates and pay themes](https://billingmart.com/developers/api/templates) 11 routes ### [Messages and activity](https://billingmart.com/developers/api/messages) 8 routes ### [Actions and approvals](https://billingmart.com/developers/api/actions) 109 routes ### [Webhooks](https://billingmart.com/developers/api/webhooks) 9 routes ### [Work setup and job types](https://billingmart.com/developers/api/work-setup) 9 routes Four ways in ## Every surface uses the same rules The console, the Agent, your code and your assistant all reach the same server, which decides every total and every permission. ### [The console](https://billingmart.com/features) Invoices, payments, approvals and settings in the browser at app.billingmart.com. ### [BillingMart Agent](https://billingmart.com/agent) A chat inside the console that works through the same tools, with approvals built in. ### [REST API](https://billingmart.com/developers/rest) Every operation over HTTPS with an API key, described by an OpenAPI 3.1 document. ### [Your own assistant](https://billingmart.com/developers/mcp) Claude, ChatGPT and Gemini clients connect over MCP at https://api.billingmart.com/mcp. The connect guide marks which client steps we have run. ## Start in the sandbox Create a bmk_test_ key in the console. It only reaches your sandbox workspace, so nothing you try reaches a customer. [Start free](https://app.billingmart.com/sign-up) [How requests work](https://billingmart.com/developers/rest) --- This is the Markdown copy of https://billingmart.com/developers. Live plans, prices and limits are published as JSON at https://billingmart.com/plans.json and https://billingmart.com/agent-info.json.