Skip to content

API Reference

Inkvoice exposes a REST API at /api/v1/. All endpoints return JSON.

Base URL

https://your-domain.com/api/v1

Authentication

Most endpoints require a valid JWT token. Obtain one via the login endpoint.

Include the token as a cookie (set automatically by the login response) or as a Bearer token:

Authorization: Bearer <token>

Response Format

All responses follow a consistent format:

Success

json
{
  "success": true,
  "data": { ... }
}

Error

json
{
  "success": false,
  "error": "Description of what went wrong"
}

Paginated Lists

json
{
  "success": true,
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 142
  }
}

Common Query Parameters

ParameterDescription
pagePage number (default: 1)
limitItems per page (default: 20)
searchSearch term (applies to name, email, etc.)
sortSort field
orderSort direction (asc or desc)

Endpoints

SectionBase Path
Authentication/api/v1/auth
Invoices/api/v1/invoices
Quotes/api/v1/quotes
Customers/api/v1/customers
Products/api/v1/products
Templates/api/v1/templates
Settings/api/v1/settings
Reports/api/v1/reports

Public Endpoints

These endpoints do not require authentication:

MethodPathDescription
GET/api/v1/public/invoices/:shareTokenView shared invoice
POST/api/v1/public/invoices/:shareToken/payInitiate Stripe payment
GET/api/v1/public/invoices/:shareToken/previewInvoice PDF preview
GET/api/v1/public/quotes/:shareTokenView shared quote
GET/api/v1/public/quotes/:shareToken/previewQuote PDF preview
GET/healthHealth check

Released under the MIT License.