# One invoice

URL: https://docs.fxapis.com/api-reference/billing/one-invoice

> One invoice. One invoice by id, with its lines, payment status and refunds.

`GET https://api.fxapis.com/v1/billing/invoices/{id}`

One invoice by id, with its lines, payment status and refunds. Another workspace's invoice is 404.

Authentication: `Authorization: Bearer <API key>`.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string (uuid) | yes |  |

#### Responses

- `200`
- `401`
- `404`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.id` | string (uuid) | no |  |
| `data.number` | string | no | Sequential, e.g. FX-2026-000123. Never reused. Invoices issued before the fxapis name keep their OW- numbers. |
| `data.plan` | string | no |  |
| `data.method` | "card" \| "crypto" \| "transfer" | no |  |
| `data.status` | "open" \| "paid" \| "void" \| "uncollectible" | no |  |
| `data.currency` | string | no |  |
| `data.amount` | integer | no | Minor units. 9900 is $99.00. |
| `data.amountRefunded` | integer | no | Minor units. |
| `data.periodStart` | null \| string (date-time) | no |  |
| `data.periodEnd` | null \| string (date-time) | no |  |
| `data.crypto` | null \| object | no | Crypto only. While the invoice is open: send exactly `amount` of `coin` on `network` to `address`, with `extraId` as the memo or tag when one is given — without it the payment cannot be matched. |
| `data.crypto.coin` | null \| string | no |  |
| `data.crypto.network` | null \| string | no |  |
| `data.crypto.address` | null \| string | no |  |
| `data.crypto.amount` | null \| string | no | Exact, as quoted. A string, never a float. |
| `data.crypto.extraId` | null \| string | no |  |
| `data.crypto.expiresAt` | null \| string (date-time) | no |  |
| `data.crypto.providerStatus` | null \| string | no | waiting, confirming, confirmed, sending, partially_paid, finished, failed, expired. |
| `data.crypto.amountReceived` | null \| string | no |  |
| `data.note` | null \| string | no |  |
| `data.paidAt` | null \| string (date-time) | no |  |
| `data.createdAt` | string (date-time) | no |  |