Skip to content

Developers

API reference

Every operation available to a client token, with its permission, parameters and examples.

Groups

How to read the reference

  • Base URL: https://app.bm.consulting/api/v1. Every request carries Authorization: Bearer … (Authentication).
  • Each operation states the permission it requires. The token must hold a grant that covers it (Permissions).
  • Accounting amounts are decimal strings, not floating-point numbers.
  • Routes with {companyId} work on a company of your account; if it is not yours they respond 403 or 404.

The full contract, in OpenAPI 3.0.3, is served at https://app.bm.consulting/api/v1/openapi/client. You can import it into Postman, Insomnia or a client generator.

All operations

OperationPermissionGroup
GET /billing
List sales documents
sales:invoices.read Billing
POST /billing
Create a sales document
sales:invoices.create Billing
GET /billing/{id}
Get one sales document
sales:invoices.read Billing
GET /suppliers
List received (purchase) invoices
purchases:documents.read Suppliers
GET /suppliers/items/{id}
Get one received invoice
purchases:documents.read Suppliers
GET /suppliers/items/{id}/file
Download the original purchase document
purchases:documents.read Suppliers
GET /books/{companyId}/journal-lines
List posted journal lines
accounting:journal.read Accounting
GET /books/{companyId}/accounts
Chart of accounts with period balances
accounting:ledger_accounts.read Accounting
GET /books/{companyId}/opening-balances
Opening balances for a year
accounting:opening_balances.read Accounting
POST /books/{companyId}/opening-balances
Set opening balances for a year
accounting:opening_balances.create Accounting
GET /books/{companyId}/consolidation
Consolidated figures
accounting:reports.read Accounting
GET /books/{companyId}/cost-centers/allocations
Cost-centre allocations
accounting:reports.read Accounting
GET /books/{companyId}/reports/profit-loss
Profit & Loss (JSON)
accounting:reports.read Accounting
GET /books/{companyId}/reports/balance-sheet
Balance sheet (JSON)
accounting:reports.read Accounting
GET /books/{companyId}/reports/trial-balance
Trial balance (JSON)
accounting:reports.read Accounting
GET /books/{companyId}/reports/{report}/export
Export a report as CSV / XLSX / PDF
accounting:reports.export Accounting
GET /tesoreria/accounts
Bank balances by IBAN and currency
treasury:bank_accounts.read Treasury
GET /contacts
List contacts
contacts:contacts.read Contacts
POST /contacts
Create or upsert a contact
contacts:contacts.create Contacts
GET /documents/{id}/download
Download a document by id
documents:files.read Documents
GET /connectors/paddle/payouts
List Paddle payouts
connectors:payouts.read Connectors
POST /connectors/paddle/payouts
Ingest a Paddle payout
connectors:payouts.create Connectors
POST /connectors/paddle/payouts/{id}/post
Post a payout to the books
connectors:payouts.post Connectors
POST /ingest/batches
Upload a purchase document for extraction
documents:ingest.create Suppliers
Email
Contact