> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Download Invoice PDF

> Returns the invoice as a PDF file (application/pdf), served directly — no redirect

```
GET /openapi/memorylake/admin/v1/billing/invoices/{invoice_id}/pdf
```

Returns the invoice as a PDF file (application/pdf), served directly — no redirect. With billing details saved it is the version carrying them; otherwise the payment provider's own. 409 when the provider has not produced a PDF for the invoice yet.

<Note>
  **Permission required:** `invoice:read`
</Note>

### Path Parameters

<ParamField path="invoice_id" type="string" required>
  Invoice id (`invoice_id`)
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://app.memorylake.ai/openapi/memorylake/admin/v1/billing/invoices/2501a637ff332794f7dc5edee0556e67/pdf' \
    -H 'Authorization: Bearer sk_xxxxxx'
  ```
</RequestExample>

### Response

Returns the invoice as a PDF file (`Content-Type: application/pdf`).

### Errors

Errors answer with `success: false`, a `message` and an `error_code`. See [Error Codes](/features/memorylake/api-reference/errors) for every code.

| Status | Meaning |
| - | - |
| `401` | The API key is missing, invalid, disabled or expired |
| `403` | The key is not allowed to do this |
| `404` | The resource does not exist |
| `409` | The request conflicts with the current state, e.g. a duplicate or a limit reached |
| `422` | The body or a parameter failed validation |
| `429` | Too many requests. Wait for the time in `Retry-After` |
| `500` | Server-side error |
| `503` | Temporarily unavailable. Retry later |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.