Imprest API
Build integrations with Imprest, the double-entry accounting platform for small businesses. The REST API gives you programmatic access to invoices, bills, expenses, products, and dimensions (classes and locations) today, with contacts next.
Also available: an MCP server
POST /mcp, protected by the same OAuth provider, with dynamic client registration so any MCP client can connect. AI assistants that speak MCP can read and record the books through it without any custom integration code. See the MCP server docs & tool catalog.Base URL
https://imprest.ai/api/v1All API endpoints are versioned under /api/v1.
Quick Start
Authenticate with OAuth 2.0, then make your first API call to list invoices. The token is already bound to the company that approved your app, so no organization header is needed:
curl https://imprest.ai/api/v1/invoices \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"{
"invoices": [
{
"id": "d4f5a6b7-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
"object": "invoice",
"invoice_number": "INV-0001",
"status": "sent",
"currency": "USD",
"total_cents": 150000,
"amount_due_cents": 150000,
"party": {
"id": "a1b2c3d4-5e6f-7a8b-9c0d-e1f2a3b4c5d6",
"display_name": "Acme Corp",
"email": "ap@acme.example"
},
"issue_date": "2026-03-15",
"due_date": "2026-04-14"
}
],
"pagination": {
"page": 1,
"per_page": 50,
"total_count": 1,
"total_pages": 1
}
}What You Can Build
Invoicing Integrations
Create, send, remind, void, and record payments on invoices.
Spend Sync
Book card charges and cash purchases as expenses, and list vendor bills, from your own tooling.
Catalog Sync
Keep services and goods and their prices in step with your store or PIM, and read stock on hand.
AI Assistants
Connect an MCP client and let it read and write the books under the scopes you grant.
Money Convention
Money is never a JSON float. A monetary value is either a decimal string or an integer whose name ends in _cents, and a currency code is always in scope on the same object or its parent. Invoices, bills, and expenses use the cents form.
// $1,200.00 USD on an invoice:
"total_cents": 120000,
"currency": "USD"
// the same amount as a decimal string:
"amount": "1200.00",
"currency": "USD"
Parse decimal strings with a decimal type, not a float. Divide cents by 100 for the dollar amount.