API & WebhooksRecurring Invoices

Recurring Invoices

List recurring invoice settings and view generated invoice history via the API.

Recurring Invoices API

Read recurring invoice settings and their generated history. All endpoints require an API token with the documents.view ability.


List Recurring Invoice Settings

GET /api/v1/recurring-invoices — Permission: documents.view

Query Parameters

ParameterTypeRequiredDescription
statusstringNoFilter by status: active, paused, completed, cancelled
per_pageintegerNoResults per page, 1–100 (default: 25)

Example Request

curl -X GET "https://your-domain.com/api/v1/recurring-invoices?status=active" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Example Response

{
  "data": [
    {
      "id": 1,
      "document_id": 42,
      "frequency": "monthly",
      "frequency_interval": 1,
      "next_billing_date": "2025-07-01",
      "status": "active",
      "cycles_completed": 5,
      "total_cycles": 12,
      "auto_send": true,
      "last_generated_at": "2025-06-01T00:00:00.000000Z",
      "created_at": "2025-01-01T10:00:00.000000Z",
      "updated_at": "2025-06-01T00:00:00.000000Z"
    }
  ],
  "meta": { "current_page": 1, "last_page": 1, "per_page": 25, "total": 1 },
  "links": { "first": "...", "last": "...", "prev": null, "next": null }
}

Get Recurring Invoice Setting

GET /api/v1/recurring-invoices/{id} — Permission: documents.view

Returns the setting with a list of generated invoices (most recent first, up to 50).

Example Request

curl -X GET "https://your-domain.com/api/v1/recurring-invoices/1" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Example Response

{
  "data": {
    "id": 1,
    "document_id": 42,
    "frequency": "monthly",
    "frequency_interval": 1,
    "next_billing_date": "2025-07-01",
    "status": "active",
    "cycles_completed": 5,
    "total_cycles": 12,
    "auto_send": true,
    "last_generated_at": "2025-06-01T00:00:00.000000Z",
    "created_at": "2025-01-01T10:00:00.000000Z",
    "updated_at": "2025-06-01T00:00:00.000000Z",
    "generated_invoices": [
      { "id": 80, "number": "INV-0080", "status": "paid", "total": "500.00", "created_at": "2025-06-01T00:00:00.000000Z" },
      { "id": 65, "number": "INV-0065", "status": "paid", "total": "500.00", "created_at": "2025-05-01T00:00:00.000000Z" }
    ]
  }
}

Was this article helpful?