For developers

Build on the Invoice Jaguar API

Create invoices, quotes, credit notes and purchase orders, sync clients and products, and pull payment/report data into your own tools — without touching the dashboard.

Authentication

Every request is authenticated with a company-scoped API key, generated from Settings → API Keys on Agency plans. Send it as a bearer token on every request:

curl https://yourdomain.com/api/v1/invoices \
  -H "Authorization: Bearer ij_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"

Keys can be scoped to specific abilities (read-only, invoices, clients, reports) and revoked instantly from the dashboard. Each key is shown once at creation — store it like a password.

Core resources

MethodEndpointDescription
GET/api/v1/invoicesList invoices, quotes, credit notes, POs
POST/api/v1/invoicesCreate a document (set type)
GET/api/v1/invoices/{id}Retrieve a single document
GET/api/v1/invoices/{id}/pdfDownload the rendered PDF
GET/api/v1/clientsList clients
POST/api/v1/clientsCreate a client
GET/api/v1/paymentsList recorded payments
GET/api/v1/reports/summaryRevenue, tax & outstanding totals

Example: create an invoice

POST /api/v1/invoices
{
  "type": "invoice",
  "client_id": 42,
  "currency": "USD",
  "tax_type": "percent",
  "tax_value": 8.5,
  "discount_type": "flat",
  "discount_value": 20,
  "shipping_amount": 15,
  "items": [
    { "name": "Design sprint", "quantity": 1,
      "unit_price": 1200 }
  ]
}

The same payload shape works for type: "quotation", "credit_note", and "purchase" (purchase orders) — one schema, four document types.

Webhooks & rate limits Roadmap

Webhooks for invoice.paid, invoice.overdue and payment.received, plus per-key rate limit headers, are on our near-term roadmap. Have a specific integration in mind (Zapier, QuickBooks, a custom ERP)? Tell us and we'll prioritize it.

Ready to integrate?

API access is included on the Agency plan. Compare plans or talk to us about your use case.

Start Free →