API Documentation

Integrate InvoiceFlow's powerful invoice generation capabilities into your applications, workflows, and business systems with our developer-friendly API.

API Coming Soon

InvoiceFlow's REST API is currently in development and will be available to Pro tier users in Q2 2026. This documentation provides a preview of planned endpoints and capabilities.

Join the waitlist below to get early access and development updates.

API Overview

The InvoiceFlow API will provide RESTful endpoints for programmatic invoice generation, client management, and business automation. Built with developer experience in mind, the API emphasizes simplicity, reliability, and comprehensive documentation.

Authentication

API key-based authentication with rate limiting and usage monitoring

Data Format

JSON request/response with comprehensive error handling and validation

Base URL (Planned)

https://api.invoiceflow.app/v1

Authentication

API access requires a valid API key included in request headers. API keys will be available to InvoiceFlow Pro subscribers through the dashboard settings.

Header Authentication

curl -X GET "https://api.invoiceflow.app/v1/invoices" \
     -H "Authorization: Bearer your-api-key" \
     -H "Content-Type: application/json"

Rate Limits

  • • 100 requests per minute
  • • 10,000 requests per day
  • • Burst allowance: 200 requests

Response Headers

  • X-RateLimit-Remaining
  • X-RateLimit-Reset
  • X-Request-ID

API Endpoints

POST/api/generate-invoice

Generate a professional invoice with customizable templates, automatic calculations, and PDF export. Supports line items, taxes, discounts, and payment terms.

Request Body Example

{
  "invoice": {
    "number": "INV-2026-001",
    "date": "2026-02-16",
    "due_date": "2026-03-16",
    "currency": "USD",
    "status": "draft"
  },
  "from": {
    "name": "Your Company",
    "email": "hello@company.com", 
    "address": "123 Business St\nCity, State 12345",
    "logo": "https://company.com/logo.png"
  },
  "to": {
    "name": "Client Company",
    "email": "billing@client.com",
    "address": "456 Client Ave\nCity, State 67890"
  },
  "items": [
    {
      "description": "Web Development Services",
      "quantity": 40,
      "rate": 125.00,
      "amount": 5000.00
    },
    {
      "description": "Project Management", 
      "quantity": 10,
      "rate": 100.00,
      "amount": 1000.00
    }
  ],
  "subtotal": 6000.00,
  "tax_rate": 8.25,
  "tax_amount": 495.00,
  "total": 6495.00,
  "notes": "Payment due within 30 days",
  "payment_terms": "Net 30"
}

Response

{
  "success": true,
  "invoice": {
    "id": "inv_2026_abc123",
    "number": "INV-2026-001", 
    "status": "generated",
    "pdf_url": "https://api.invoiceflow.app/v1/invoices/inv_2026_abc123/pdf",
    "public_url": "https://invoice.link/inv_2026_abc123",
    "created_at": "2026-02-16T10:30:00Z"
  }
}
GET/api/templates

Retrieve available invoice templates with preview images and customization options. Use template IDs with the generate-invoice endpoint for consistent branding.

Response

{
  "templates": [
    {
      "id": "modern",
      "name": "Modern Professional",
      "description": "Clean, minimalist design for modern businesses",
      "preview_url": "https://api.invoiceflow.app/templates/modern/preview.png",
      "features": ["logo_support", "color_customization", "payment_links"],
      "pro_only": false
    },
    {
      "id": "classic", 
      "name": "Classic Business",
      "description": "Traditional invoice layout with professional styling",
      "preview_url": "https://api.invoiceflow.app/templates/classic/preview.png", 
      "features": ["letterhead", "terms_section", "tax_breakdown"],
      "pro_only": false
    },
    {
      "id": "branded",
      "name": "Premium Branded",
      "description": "Full branding customization with advanced features",
      "preview_url": "https://api.invoiceflow.app/templates/branded/preview.png",
      "features": ["custom_fonts", "advanced_layouts", "recurring_setup"],
      "pro_only": true
    }
  ]
}

Additional Planned Endpoints

GET/api/invoices
List all invoices with filtering
GET/api/invoices/{id}
Retrieve specific invoice details
PUT/api/invoices/{id}
Update invoice details and status
POST/api/clients
Create and manage client records
POST/api/recurring
Set up recurring invoice automation

Error Handling

The API uses conventional HTTP response codes to indicate success or failure. Error responses include detailed messages and error codes for programmatic handling.

HTTP Status Codes

200Success
400Bad Request
401Unauthorized
429Rate Limited
500Server Error

Error Response Format

{
  "error": {
    "code": "validation_error",
    "message": "Invalid invoice data",
    "details": {
      "field": "due_date",
      "issue": "Date must be in future"
    },
    "request_id": "req_abc123"
  }
}

Webhooks (Planned)

Receive real-time notifications about invoice events, payment status changes, and client interactions through secure webhook endpoints.

Supported Events

  • invoice.created
  • invoice.sent
  • payment.received
  • invoice.overdue

Security

  • • HMAC-SHA256 signatures
  • • Retry logic with backoff
  • • Event deduplication
  • • IP allowlist support

SDKs & Libraries (Planned)

Official SDKs and community libraries will be available for popular programming languages and frameworks.

JavaScript/Node.js

npm install @invoiceflow/sdk

Python

pip install invoiceflow

PHP

composer require invoiceflow/php

Get Early Access

Join our developer waitlist to get early access to the InvoiceFlow API, beta testing opportunities, and priority support during the initial rollout phase.

Beta Access
Test endpoints before public release
Priority Support
Direct line to our development team
No Setup Fees
Free API access during beta period