Void an invoice
Withdraws an open invoice. Its number is not used again, and its sales can go on another invoice. A paid invoice cannot be voided.
apiKeyAuthorizationBearer <token>An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.
id*stringSuccess
application/json- response
Success
id*stringnumber*stringCounts up from INV-0001 across your account, with no gaps
customerId*stringcurrency*stringThe currency of every amount on the invoice
^[A-Z]{3}$lines*array<>subtotal*integerThe lines added up, before tax
0 <= valuetaxBps*|The tax rate in basis points. Null when there is no tax
tax*integersubtotal times the tax rate, rounded
0 <= valuetotal*integerWhat the customer owes: subtotal plus tax
0 <= valuestatus*stringopen is waiting to be paid; paid is your record that it was; void was withdrawn
"open""paid""void"overdue*booleanTrue for an open invoice whose due date has passed: from a day after dueAt, so an invoice due today is not overdue today
shared*booleanTrue once POST /invoices/{id}/share has made a public link for this invoice, false again once revoked. The token itself is never in this response or the list
issuedAt*stringdate-timedueAt*stringdate-timepaidAt*|nullvoidedAt*|nullnote*string|nullissuer*|Your account as it billed this invoice, copied at the time it was issued. Null on invoices made before you set any billing details
curl -X POST "https://example.com/v1/invoices/inv_01K6XJ4Q8ZT3M9R5V2B7WDHNCA/void"{ "id": "inv_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "number": "INV-0001", "customerId": "cus_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "currency": "USD", "lines": [ { "saleId": "sal_01K6XJ4Q8ZT3M9R5V2B7WDHNCA", "description": "northwind-telecom.com, 2 years", "quantity": 2, "unitPrice": 1439, "total": 2878 } ], "subtotal": 2878, "taxBps": 2000, "tax": 576, "total": 3454, "status": "open", "overdue": true, "shared": true, "issuedAt": "2026-10-07T11:04:31.000Z", "dueAt": "2026-10-21T11:04:31.000Z", "paidAt": null, "voidedAt": null, "note": "Thank you for your business", "issuer": { "name": "Northwind Telecom", "legalName": null, "addressLines": [], "taxId": null, "billingEmail": null }}Mark an invoice paid POST
Records that the customer paid. Nothing is charged. ResellerHQ does not collect payment from your customers: you take the money however you already do, and record it here.
Share an invoice POST
Creates a public, read-only link to this invoice that needs no API key: `GET /public/invoices/{token}`. Calling this again returns the same token, so the share button is safe to press twice. Works on an invoice in any status.