REST · JSON · v1

Control your billing stack from anywhere

The same data you use in the dashboard (clients, invoices, quotations, debit notes, inventory, expenses, email sendouts, and analytics) over a versioned API. Authenticate with your account API key and build integrations without scraping the UI.

Production base URL

Use in integrations. On localhost, call your dev server’s /v1; Try-it on the reference page uses same-origin.

https://api.onestopinvoice.com/v1
$ curl -H "Authorization: Bearer <api_key>" https://api.onestopinvoice.com/v1/me

Clients & documents

Client CRUD with dedupe, plus invoices, quotations, and debit notes with line items.

Inventory & expenses

Keep stock and costs aligned with your books and PDFs.

Send & analytics

Email document PDFs and pull summary analytics for dashboards.

Secure by API key

Per-account keys; same subscription and suspension rules as the web app.

Authentication

Send your key as Authorization: Bearer <api_key> or X-API-Key: <api_key>. Create or rotate it under Dashboard → API Key.

?api_key= is for quick tests only, not for production.

Response shape

Success: {"ok": true, "data": …}

Error: {"ok": false, "error": {"code", "message", "details"}}

Methods Path Notes
GET /v1/me Account summary
GETPOST /v1/clients List & create · dedupe on phone / email / GSTIN
GETPATCHDELETE /v1/clients/{id} Read, update, delete
GETPOST /v1/invoices Invoices with line items
GETPATCHDELETE /v1/invoices/{id}
GETPOST /v1/quotations
GETPATCHDELETE /v1/quotations/{id}
GETPOST /v1/debit-notes
GETPATCHDELETE /v1/debit-notes/{id}
GETPOST /v1/inventory
GETPATCHDELETE /v1/inventory/{id}
GETPOST /v1/expenses
GETPATCHDELETE /v1/expenses/{id}
POST /v1/sendouts Email document PDF
GET /v1/analytics/summary Dashboard analytics
Chat with us on WhatsApp