---
title: "List the authenticated user's invoices and subscription"
method: GET
path: "/api/v1/billing/invoices"
tags: ["Billing", "User"]
---

# List the authenticated user's invoices and subscription

`GET /api/v1/billing/invoices`

## Response `200`

Local billing projection

- BillingInvoicesResponse
  - `ok` boolean, required
  - `subscription` BillingSubscription, required — Authenticated user's current subscription metadata.
    - `id` integer
    - `stripe_subscription_id` string
    - `stripe_customer_id` string, nullable
    - `plan` string
    - `billing` string, nullable
    - `amount_cents` integer, nullable
    - `currency` string, nullable
    - `status` string
    - `current_period_start` string, nullable
    - `current_period_end` string, nullable
    - `cancel_at_period_end` union
      - integer
      - boolean
    - `canceled_at` string, nullable
    - `created_at` string
    - `updated_at` string
  - `invoices` BillingInvoice[], required
    - `id` integer
    - `stripe_invoice_id` string
    - `invoice_number` string, nullable
    - `amount_paid_cents` integer, nullable
    - `amount_due_cents` integer, nullable
    - `subtotal_cents` integer, nullable
    - `tax_cents` integer, nullable
    - `tax_rate_pct` number, nullable
    - `currency` string, nullable
    - `status` string, nullable
    - `invoice_pdf` string, uri, nullable
    - `hosted_invoice_url` string, uri, nullable
    - `period_start` string, nullable
    - `period_end` string, nullable
    - `paid_at` string, nullable
    - `created_at` string

## Other responses

- `401` — Authentication required (no active session)
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.net/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/996f96a11758/schema)
