---
title: "Get a PDF invoice for a transaction"
method: GET
path: "/transactions/{transaction_id}/invoice"
tags: ["Transactions"]
---

# Get a PDF invoice for a transaction

`GET /transactions/{transaction_id}/invoice`

## Request

- Base URL: `https://sandbox-api.paddle.com`
- URL: `https://sandbox-api.paddle.com/transactions/{transaction_id}/invoice`
- Auth: HTTP bearer

Returns a link to an invoice PDF for a transaction.

Invoice PDFs are available for both automatically and manually-collected transactions:

* The PDF for manually-collected transactions includes payment terms, purchase order number, and notes for your customer. It's a demand for payment from your customer. It's available for transactions that are `billed` or `completed`.
* The PDF for automatically-collected transactions lets your customer know that payment was taken successfully. Customers may require this for for tax-reporting purposes. It's available for transactions that are `completed`.

Invoice PDFs aren't available for zero-value transactions.

The link returned is not a permanent link. It expires after an hour.

## Path parameters

- `transaction_id` string, required

## Query parameters

- `disposition` 'attachment' | 'inline'

## Response `200`

The request has succeeded.

- GetInvoicePdfResponse
  - `meta` Meta, required: Information about this response.
    - `request_id` string, required: Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
  - `data` GetInvoicePdf, required
    - `url` string, required: URL of the requested resource.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-02-02** (v1) `9ba8be0f2006`: 6 breaking, 1 warning, 4 info
  - added the new path request parameter `transaction_id`
  - the `error` response's property type changed from `object` to no type for status `default`
  - removed the required property `error/code` from the response with the `default` status
  - removed the required property `error/detail` from the response with the `default` status
  - …7 more
- **2025-02-03** (v1) `50bbef23e6a1`: 1 breaking
  - for the `query` request parameter `disposition`, default value `attachment` was added
- **2024-12-06** (v1) `274e5b2be190`: 1 info
  - added the new optional `query` request parameter `disposition`
- **2024-02-19** (v1) `a4a4068ff792`: 3 info
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `404`
  - removed the non-success response with the status `500`

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/transactions/:transaction_id/invoice/get.md)

---

[API](https://skmtc.dev/paddlehq/apis/paddle-api.md) - [All operations](https://skmtc.dev/paddlehq/apis/paddle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paddlehq/apis/paddle-api/revisions/bbc0c72039c8?raw)
