---
title: "Read billing invoice"
method: GET
path: "/v1/billing/invoices/{invoiceId}"
tags: ["Billing"]
---

# Read billing invoice

`GET /v1/billing/invoices/{invoiceId}`

## Request

- Base URL: `https://api.inth.com`
- URL: `https://api.inth.com/v1/billing/invoices/{invoiceId}`
- Auth: HTTP bearer

Requires a user token with billing.details.read and organization owner access. Organization API keys cannot use this operation. Read-only; does not create or link a payment account. Direct ID reads verify the payment customer without searching recent invoice pages. Amounts are integer minor currency units. pdfPath requires the same bearer credential.

## Path parameters

- `invoiceId` string, required

## Query parameters

- `organizationId` string

## Response `200`

Read billing invoice

- object
  - `success` true, required
  - `data` BillingInvoice, required
    - `organizationId` string, required
    - `id` string, required
    - `amountDue` integer, required
    - `amountPaid` integer, required
    - `amountRemaining` integer, required
    - `canDownload` boolean, required
    - `canPay` boolean, required
    - `currency` string, required
    - `invoiceNumber` string, nullable, required
    - `lineItems` object[], required
      - `amount` integer, required
      - `description` string, nullable, required
      - `id` string, required
      - `periodEnd` string, required
      - `periodStart` string, required
      - `quantity` integer, nullable, required
    - `status` 'draft' | 'open' | 'paid' | 'uncollectible' | 'unknown' | 'void', required
    - `subtotal` integer, required
    - `tax` integer, required
    - `total` integer, required
    - `pdfPath` string, required

## Other responses

- `400`: The request payload or parameters are invalid.
- `401`: Authentication is missing, invalid, or expired.
- `403`: The credential is valid but may not perform the operation. `INSUFFICIENT_SCOPE`: the credential was never granted the capability the operation needs. `details.requiredScope` names it, and the `WWW-Authenticate` header carries `Bearer error="insufficient_scope"`. An OAuth client fixes this by requesting the scope; an organization API key cannot gain it. `FORBIDDEN`: the capability is present but the membership behind the credential lacks the role, or the resource belongs to another organization.
- `404`: The requested resource was not found.
- `503`: The capability is temporarily paused by an operator. Retry later.

## Changes

- **2026-10-31** `a3f4100e14c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/inth/apis/inth-api/changes/v1/billing/invoices/:invoiceId/get.md)

---

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