---
title: "Get Invoice"
method: GET
path: "/invoices/{invoiceId}"
tags: ["Invoices"]
---

# Get Invoice

`GET /invoices/{invoiceId}`

## Request

- Base URL: `https://api.upflow.io/v1`
- URL: `https://api.upflow.io/v1/invoices/{invoiceId}`
- Auth: API key in header `X-Api-Key` and API key in header `X-Api-Secret`

This endpoint can be used to retrieve a specific invoice by its ID.

## Response `200`

Invoice details.

- Invoice: Common attributes for invoices.
  - `externalId` string: Invoice external identifier.
  - `issuedAt` string, date-time: The date at which the invoice was issued (ISO 8601 format).
  - `dueDate` string, date-time: The date when the invoice is due (ISO 8601 format).
  - `name` string: The invoice name or description.
  - `currency` 'EUR' | 'CHF' | 'USD' | 'CAD' | 'GBP', required: ISO 4217 Currency Code
  - `grossAmount` integer, required: Amount including taxes (in cents).
  - `netAmount` integer, required: Amount net of taxes (in cents).
  - `amountOutstanding` integer, required: Amount currently outstanding on the invoice (in cents).
  - `dunningPlanId` string, uuid, nullable: Dunning plan ID associated with the invoice.
  - `id` string, uuid, required: The Invoice ID.
  - `customerId` string, uuid, nullable: Customer ID associated with the invoice.
  - `payments` PaymentsObject[]: List of payments associated with the invoice.
    - `id` string, uuid: The Payment ID.
    - `amount` integer: Amount of payment (in cents).
    - `linkedAmount` integer: Amount of the payment allocated to this invoice (in cents).
    - `executedAt` string, date-time: Payment execution date (ISO 8601 format).
    - `instrument` 'WIRE_TRANSFER' | 'DIRECT_DEBIT' | 'CARD' | 'CASH' | 'CHECK' | 'UNKNOWN': Instrument used for the payment.
  - `pdfUrl` string, uri, nullable: URL to the invoice PDF.
  - `state` 'DUE' | 'OVERDUE' | 'PAID' | 'WRITTEN_OFF' | 'DISPUTED', required: Status of the invoice.
  - `customFields` CustomFieldValue[]: List of invoice's custom fields with values.
    - `id` string, uuid, required: The Custom Field ID.
    - `label` string, required: Custom field label displayed in the UI.
    - `dataType` 'STRING' | 'BOOLEAN' | 'FLOAT' | 'DATE' | 'DATETIME' | 'SELECT' | 'MULTI_SELECT', required: Data type of the custom field.
    - `source` string, nullable, required: Source of the custom field value.
    - `value` union, required: The value of the custom field. Can be a primitive (string, integer, boolean), a single object for SELECT types, an array of objects for MULTI_SELECT types.
      - integer: Integer value.
      - string: String value (could also be date-time or date).
      - boolean: Boolean value.
      - CustomFieldValueOption
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.
      - CustomFieldValueOption[]: Value for MULTI_SELECT type.
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.
  - `dunningPaused` boolean: Whether dunning is currently paused for this invoice.
  - `dunningPausedUntil` string, date, nullable: The date until which dunning is paused (YYYY-MM-DD), or `null` if not paused.
  - `dunningPausedComment` string, nullable: Comment provided when dunning was paused, or `null` if none.
  - `dunningPausedByUserId` string, uuid, nullable: The ID of the user who paused dunning, or `null` if not paused.
  - `promiseToPay` InvoicePromiseToPay, nullable: The promise to pay currently set on the invoice, or `null` if there is none.
    - `expectedDate` string, date, required: Expected payment date (YYYY-MM-DD).
    - `comment` string, nullable, required: Comment related to the promise to pay, or `null` if none was provided.
    - `isActive` boolean, required: Whether the promise to pay is still active.
    - `createdAt` string, date-time, required: The date at which the promise to pay was created (ISO 8601 format).
  - `createdAt` string, date-time: The date at which the invoice was created (ISO 8601 format).
  - `updatedAt` string, date-time: The date at which the invoice was last updated (ISO 8601 format).

---

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