Connect your bots, AI agents, and tools to InvoiceCave
All API requests require an API key. Generate one from Dashboard → Settings → API Keys.
# Include in every request:
Authorization: Bearer ic_your_api_key_here
Base URL: https://www.invoicecave.com
Standard HTTP endpoints. Works with any HTTP client, bot, or automation tool (n8n, Zapier, curl, Postman, etc.). For native AI-agent access, use our 102-tool MCP server.
/api/v1/dashboardGet overview stats: outstanding amounts, overdue invoices, counts
/api/v1/customers?search=acmeList customers. Optional search filter.
/api/v1/customers/:idGet single customer details
/api/v1/customersCreate customer. Body: { displayName, email?, phone?, company?, currency? }
/api/v1/customers/:idUpdate customer. Body: { displayName?, email?, phone?, company?, currency? }
/api/v1/customers/:idDelete customer (fails if has invoices)
/api/v1/items?search=hostingList items. Optional search filter.
/api/v1/items/:idGet single item details
/api/v1/itemsCreate item. Body: { name, rate, type?, description?, tax? }
/api/v1/items/:idUpdate item. Body: { name?, rate?, description?, tax?, unit? }
/api/v1/items/:idDelete item from catalog
/api/v1/invoices?status=Sent&search=acmeList invoices. Optional status, search, limit filters.
/api/v1/invoicesCreate invoice. Body: { customerName, lineItems: [{description, rate, quantity?, tax?}], currency?, terms? }
/api/v1/invoices/:idGet full invoice details with line items
/api/v1/invoices/:idUpdate invoice. Body: { customerName?, currency?, status?, dueDate?, customerNotes?, discount?, shipping? }
/api/v1/invoices/:idDelete invoice (Draft/Void only)
/api/v1/invoices/:id/sendMark as Sent and get shareable link
/api/v1/invoices/:id/linkGet the shareable public link
/api/v1/invoices/:id/paymentRecord payment. Body: { amount, paymentMode?, reference? }
/api/v1/invoices/:id/pdfDownload invoice as PDF
/api/v1/invoices/:id/emailEmail invoice with PDF. Optional: { email: 'override@...' }
/api/v1/invoices/:id/line-itemsAdd line item. Body: { description, quantity, rate, tax? }
/api/v1/invoices/:id/line-itemsUpdate line item. Body: { lineItemIndex, description?, rate?, quantity? }
/api/v1/invoices/:id/line-itemsRemove line item. Body: { lineItemIndex } or { description }
/api/v1/paymentsList payments. Optional: invoiceId, customerId filters.
/api/v1/recurring-invoicesList recurring invoice profiles
/api/v1/recurring-paymentsList recurring payment profiles
/api/v1/accountsChart of accounts. Optional: type filter (Asset, Liability, etc.)
/api/v1/journal-entriesList journal entries. Optional: status, limit.
/api/v1/audit-logView audit log. Optional: entity, limit.
For MCP-compatible clients like Claude Desktop, Cursor, and Codex.
// Add to your MCP client config:
{
"mcpServers": {
"invoicecave": {
"url": "https://www.invoicecave.com/api/mcp/mcp",
"headers": {
"Authorization": "Bearer ic_your_api_key"
}
}
}
}102 first-party MCP tools across invoices, customers, quotes, expenses, recurring billing, double-entry accounting, and reports. Browse the full catalog →
# List your customers
curl -H "Authorization: Bearer ic_your_key" \
https://www.invoicecave.com/api/v1/customers
# Create an invoice
curl -X POST -H "Authorization: Bearer ic_your_key" \
-H "Content-Type: application/json" \
-d '{"customerName":"Acme","lineItems":[{"description":"Dev","rate":120,"quantity":40}]}' \
https://www.invoicecave.com/api/v1/invoices