> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mountthor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Invoice

> The invoice must belong to the authenticated customer; a
not-found shape is returned even when the invoice exists for a
different customer so this endpoint cannot be used to probe for
invoice IDs across tenants. Line-item detail is provider-hosted —
follow `hosted_invoice_url`.



## OpenAPI

````yaml /api-reference/customer-api.v1.openapi.json get /v1/admin/billing/invoices/{invoice_id}
openapi: 3.1.0
info:
  title: Mount Thor Customer API
  version: v1
servers:
  - description: Mount Thor customer API edge
    url: https://api.mountthor.com
security: []
paths:
  /v1/admin/billing/invoices/{invoice_id}:
    get:
      tags:
        - billing
      summary: Get Invoice
      description: |-
        The invoice must belong to the authenticated customer; a
        not-found shape is returned even when the invoice exists for a
        different customer so this endpoint cannot be used to probe for
        invoice IDs across tenants. Line-item detail is provider-hosted —
        follow `hosted_invoice_url`.
      operationId: get_customer_billing_invoice
      parameters:
        - description: Invoice UUID.
          in: path
          name: invoice_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerBillingInvoiceResponse'
          description: Success
        '400':
          description: Malformed invoice_id (not a UUID)
        '401':
          description: Missing or invalid bearer credential
        '403':
          description: >-
            Credential is missing billing:read scope, or the human session is
            neither an Administrator nor a billing-owner for this customer
        '404':
          description: Invoice not found, or does not belong to the authenticated customer
        '429':
          content:
            text/plain:
              schema:
                type: string
          description: Rate limit exceeded
          headers:
            Retry-After:
              description: Seconds before retry.
              schema:
                minimum: 1
                type: integer
      security:
        - api_key_bearer:
            - billing:read
components:
  schemas:
    CustomerBillingInvoiceResponse:
      additionalProperties: false
      description: |-
        Customer invoice detail response. Header-only by design: line-item
        detail lives on the provider-hosted invoice (`hosted_invoice_url`).
      properties:
        invoice:
          $ref: '#/components/schemas/InvoiceMetadata'
          description: Header metadata; same shape as the list-response entry.
      required:
        - invoice
      type: object
    InvoiceMetadata:
      additionalProperties: false
      description: |-
        Header metadata for a single invoice, in a list response or as the
        header of a detail response. Invoices come from Mount Thor's billing
        provider: a draft invoice tracks the running period and is finalized
        as that period closes — see `status` and `finality`. Line-item detail
        and payment live on the provider-hosted invoice, so this surface
        carries headers only.
      properties:
        created_at:
          description: When Mount Thor first recorded this invoice.
          type: string
        credits_applied_cents:
          description: >-
            Credits and prepaid commits applied to rated usage. Null under the
            same

            incomplete-line-item condition as `gross_usage_cents`.
          format: int64
          type:
            - integer
            - 'null'
        currency:
          description: ISO 4217 currency code.
          example: USD
          type: string
        customer_id:
          description: Stable UUID for the customer account.
          type: string
        finality:
          description: |-
            How settled the money figure is: `estimate` (running period,
            updates at close), `pending_close`, `final` (authoritative),
            or `corrected` (voided/adjusted). Clients MUST NOT render an
            `estimate`/`pending_close` total as official invoice state.
          example: final
          type: string
        gross_usage_cents:
          description: |-
            Rated usage before credits/commits. Null when the provider has not
            yet reported line items for this invoice.
          format: int64
          type:
            - integer
            - 'null'
        hosted_invoice_url:
          description: |-
            Provider-hosted invoice page; line-item detail and payment live
            there.
          type:
            - string
            - 'null'
        invoice_id:
          description: Stable Mount Thor UUID for the invoice.
          example: 00000000-0000-0000-0000-000000000000
          type: string
        invoice_pdf_url:
          description: Provider-hosted invoice PDF.
          type:
            - string
            - 'null'
        paid_at:
          description: When the provider reported the invoice paid.
          type:
            - string
            - 'null'
        period_end:
          description: End of the billed period, when the provider reported one.
          example: '2026-08-01'
          type:
            - string
            - 'null'
        period_start:
          description: |-
            Inclusive start of the billed period, when the provider
            reported one.
          example: '2026-07-01'
          type:
            - string
            - 'null'
        status:
          description: |-
            Provider invoice/payment state: one of `draft`, `open`,
            `finalized`, `paid`, `void`, `uncollectible`.
          example: open
          type: string
        total_cents:
          description: >-
            Net amount due in cents after credits and prepaid commits, as last

            reported by the provider. Retains the historical `total_cents` wire
            name.
          format: int64
          type: integer
      required:
        - invoice_id
        - customer_id
        - status
        - finality
        - total_cents
        - currency
        - created_at
      type: object
  securitySchemes:
    api_key_bearer:
      bearerFormat: mthr_live_*
      description: Bearer scheme name used by typed customer admin operations.
      scheme: bearer
      type: http

````