Create a recurring invoice template.
Create a recurring invoice template.
POST
https://app.softsolz.uk/api/v1/services/invoicing/recurringRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Headers
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
namestringrequiredTemplate name.
source_invoice_idsarray of integersrequiredOne or more POSTED source invoices to clone each run.
cadencestringRun cadence (default "monthly").
due_in_daysintegerDays until due on each generated invoice (default 30).
is_activebooleanWhether the schedule starts active (default true).
start_atstringFirst run time.
Response
Response Body
idstringTemplate id.namestringTemplate name.source_invoice_idsarray of integersPosted source invoices cloned each run.cadencestringRun cadence.due_in_daysintegerDays until due on each generated invoice.is_activebooleanWhether the schedule is active.next_run_atstring | nullNext scheduled run.created_atstringCreation timestamp.Request
curl --request POST \ --url https://app.softsolz.uk/api/v1/services/invoicing/recurring \ --header 'Authorization: Bearer sk_live_your_key' \ --header 'Content-Type: application/json' \ --data '{ "name": "Monthly retainer - SoftSolz", "source_invoice_ids": [ 1001 ], "cadence": "monthly", "due_in_days": 30, "is_active": true, "start_at": "2026-02-15T00:00:00.000Z"}'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 201
{ "data": { "id": "b2c3d4e5-0000-0000-0000-000000000001", "name": "Monthly retainer - SoftSolz", "source_invoice_ids": [ 1001 ], "cadence": "monthly", "due_in_days": 30, "is_active": true, "next_run_at": "2026-02-15T00:00:00.000Z", "created_at": "2026-01-15T09:30:00.000Z" }}