---
title: "Download an invoice as PDF"
url: "https://real-estate-agency.apim.eu/apis/chargeback-settlement/versions/109ed889-6e58-4a7d-be59-d2717eab4852/operations/downloadInvoicePdf"
---

> Full API specification: https://real-estate-agency.apim.eu/apis/chargeback-settlement/versions/109ed889-6e58-4a7d-be59-d2717eab4852.md

# Download an invoice as PDF

`GET` `/invoices/{invoiceId}/pdf`

Operation ID: `downloadInvoicePdf`

## Path parameters

- `invoiceId` (string, required)

## Responses

- `200` - PDF document
- `404` - Record not found

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Usage Chargeback & Settlement
  version: 1.0.0
servers:
  - url: https://api.nexora.example/v1
    description: Production
  - url: https://sandbox.api.nexora.example/v1
    description: Sandbox
paths:
  /invoices/{invoiceId}/pdf:
    parameters:
      - name: invoiceId
        in: path
        required: true
        schema:
          type: string
          example: inv_a920
    get:
      tags:
        - Invoices
      summary: Download an invoice as PDF
      operationId: downloadInvoicePdf
      responses:
        "200":
          description: PDF document
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        "404":
          $ref: "#/components/responses/NotFound"
security:
  - apiKey: []
components:
  responses:
    NotFound:
      description: Record not found
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
  schemas:
    Error:
      type: object
      description: Uniform error format across all Nexora AI APIs.
      required:
        - code
        - message
      properties:
        code:
          type: string
          example: validation_failed
        message:
          type: string
          example: The billing basis is required to calculate the chargeback.
        details:
          type: array
          items:
            $ref: "#/components/schemas/ErrorDetail"
    ErrorDetail:
      type: object
      properties:
        field:
          type: string
          example: chargeback_rate_percent
        reason:
          type: string
          example: missing
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: |
        Every call carries an API key in the `apikey` header. You generate the
        key in the Nexora AI portal under "My Apps"; it's shown exactly once.

        Each key has the scopes it's allowed to use attached to it. If one is
        missing, the API responds with `403` and `code: "scope_missing"`; the
        missing scope is in `details[].field`.
```
