Skip to main content
GET
Download an invoice PDF
Requires scope: view:billing — see Required scopes. Returns the invoice as raw PDF bytes — not wrapped in the JSON envelope. Errors still use the JSON ErrorResponse. The Content-Disposition header carries a filename derived from the invoice number. A 404 always means the invoice is not yours to read; an invoice you can read whose PDF cannot be produced is 500 billing-provider-error, so a rendering fault is never mistaken for a wrong id.

Authorizations

FlowClient Credentials
Token URL
https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token

Headers

x-tenant-id
string<uuid>

Which tenant the request is scoped to, among those your token grants. Omit it when the token grants exactly one tenant; it is required when the token grants more than one. A supplied value must exactly match a tenant the token grants.

Absent when required, blank, malformed, or naming a tenant the token does not grant — each gets the same generic 403 forbidden, which reveals neither whether a tenant exists nor which ones you may use. Send the header once: a repeated header is rejected the same way.

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

Path Parameters

invoiceId
string<uuid>
required

Invoice identifier, as returned by the invoice list

Response

Invoice PDF attachment

The response is of type file.