Get invoice receipt (PDF) link API Reference
const url = 'https://api.kupe.cloud/api/v1/tenants/acme/invoices/acme-20260301/receipt';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.kupe.cloud/api/v1/tenants/acme/invoices/acme-20260301/receipt \ --header 'Authorization: <Authorization>'Returns a fresh, short-lived URL for the Paddle-hosted invoice (receipt) PDF of a charged invoice. Paddle is Merchant of Record, so this hosted invoice is the tax-inclusive (VAT) document — kupe invoice amounts exclude VAT. Only invoices that have been charged have a receipt: the invoice phase must be Paid or PastDue and the invoice must carry a Paddle transaction ID (set shortly after charging). Other phases return 409. The returned URL is short-lived and authenticated — open or download it immediately; do NOT store it. Request a fresh link each time.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Tenant name
Invoice name (server-controlled; usually {tenant}-{YYYYMMDD}, variants exist — take it from the list response)
Responses
Section titled “ Responses ”Fresh receipt PDF URL (short-lived — do not store)
object
Example
{ "url": "https://paddle.com/invoice/01hv8wptq8987qeep44cyrewp9?token=..."}Invalid name
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Missing or invalid authentication
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Not a member of this tenant
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Invoice not found, or no hosted invoice available
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Invoice has not been charged yet (phase not Paid/PastDue)
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Rate limit exceeded
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}Billing integration not configured or Paddle unavailable
object
Example generated
{ "code": "example", "error": "example", "field": "example", "message": "example", "severity": "example"}