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

# Retrieve Invoice

`GET /invoices/{id}`

## Request

- Base URL: `https://timelodge.com/api/v1`
- URL: `https://timelodge.com/api/v1/invoices/{id}`
- Auth: HTTP bearer

Returns the current representation and an ETag for optimistic concurrency. Requires `invoices:read`.

## Path parameters

- `id` integer, required

## Response `200`

The resource.

- InvoiceResponse
  - `data` Invoice, required
    - `id` integer, nullable
    - `client_id` integer, nullable
    - `estimate_id` integer, nullable
    - `number` string, nullable
    - `status` string, nullable
    - `currency` string, nullable
    - `period_from` string, date, nullable
    - `period_to` string, date, nullable
    - `issue_date` string, date, nullable
    - `due_date` string, date, nullable
    - `subtotal_minor` integer, nullable
    - `tax_minor` integer, nullable
    - `discount_minor` integer, nullable
    - `total_minor` integer, nullable
    - `amount_paid_minor` integer, nullable
    - `issued_at` string, date-time, nullable
    - `voided_at` string, date-time, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `version` string: Opaque representation version used for optimistic concurrency.

## Other responses

- `401`: Missing or invalid token.
- `403`: The token lacks the required scope.
- `404`: Resource not found.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/timelodge/apis/timelodge-api.md) · [All operations](https://skmtc.dev/timelodge/apis/timelodge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/timelodge/apis/timelodge-api/revisions/9072baafaa20?raw)
