---
title: "Read Invoice Pdf"
method: GET
path: "/api/autopilot/invoices/{invoice_id}/pdf"
tags: ["autopilot"]
---

# Read Invoice Pdf

`GET /api/autopilot/invoices/{invoice_id}/pdf`

## Request

- Base URL: `https://api.taxcompass.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.taxcompass.it/api/autopilot/invoices/{invoice_id}/pdf`
- Auth: HTTP bearer

The human-readable courtesy copy of an issued invoice (AP-034).

Not a fiscal document: the original is the XML SdI holds, and this restates
it for the customer — which is why a **draft** is a 409 rather than a
preview. There is no transmitted document to restate yet, and the editor's
own preview is a separate decision (AP-051).

An incomplete fiscal profile or a customer that no longer produces valid
builder input surfaces as a 422 carrying the builder's own message, which
names every missing field at once rather than one per attempt.

No route-level rate limit: this is a read, so it stays on the app-wide
default like the other reads here — the autopilot's tighter limit guards
writes.

## Path parameters

- `invoice_id` string, uuid, required

## Response `200`

The courtesy copy

## Other responses

- `409`: The invoice has not been issued yet
- `422`: The profile or the customer cannot produce a document

---

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