# List the org's Stripe invoices (receipts) with links to their PDFs

`GET https://api.instacloud.com/orgs/{orgId}/billing/invoices`

**Token scope:** `account` · `org` — read-only tokens allowed.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | `integer` | no |  |
| `before` | query | `string` | no | opaque cursor from a previous page's nextBefore |
| `orgId` | path | `string` | yes |  |

## Response 200

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | `object[]` | yes |  |
| `items.id` | `string` | yes | Stripe invoice id |
| `items.number` | `string \| null` | yes | the invoice number printed on the PDF; null before Stripe assigns one |
| `items.createdAt` | `string` | yes |  |
| `items.amountUsd` | `number` | yes | invoice total in USD |
| `items.currency` | `string` | yes |  |
| `items.status` | `string` | yes | Stripe invoice status — paid, open or uncollectible (drafts and voided invoices are never listed) |
| `items.description` | `string \| null` | yes | the invoice's description, else its first line item — what was bought |
| `items.pdfUrl` | `string \| null` | yes | Stripe-hosted, read-only PDF; null until Stripe has rendered it. The payable hosted invoice link is deliberately never returned. |
| `nextBefore` | `string \| null` | no | opaque cursor; pass as ?before= for the next page, null when there are no more |

## Response 403

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | `string` | yes |  |

## Response 409

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | `string` | yes |  |

## Response 503

Billing (Stripe) not configured
