---
title: "List Stripe invoice snapshots"
method: GET
path: "/admin/billing/stripe/invoices"
tags: ["Billing"]
---

# List Stripe invoice snapshots

`GET /admin/billing/stripe/invoices`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/billing/stripe/invoices`
- Auth: API key in header `x-api-key`

Admin-only endpoint that lists local Stripe invoice snapshots with optional filters for time window, plan, invoice status, customer, user, period key, invoice id, and mismatch state. Without an explicit time range, the list defaults to the last 30 days.

## Query parameters

- `from` string
- `to` string
- `plan` 'Free' | 'Starter' | 'Growth' | 'Pro' | 'Business' | 'Enterprise' | 'Admin'
- `status` string
- `customer_id` string
- `user_id` string
- `period_key` string
- `invoice_id` string
- `repair_status` 'pending' | 'running' | 'succeeded' | 'failed' | 'skipped'
- `mismatch_flag` string
- `min_repair_attempts` integer
- `needs_manual_review` boolean
- `has_mismatch` boolean
- `exclude_test_accounts` boolean
- `limit` integer

## Headers

- `x-api-key` string, required

## Response `200`

Stripe invoice snapshots

- BillingStripeInvoiceSnapshotsResponseDoc
  - `code` integer
  - `data` BillingStripeInvoiceSnapshotDoc[]
    - `actual_one_time_cents` integer
    - `actual_overage_cents` integer
    - `actual_proration_cents` integer
    - `actual_subscription_cents` integer
    - `amount_due_cents` integer
    - `amount_paid_cents` integer
    - `amount_remaining_cents` integer
    - `charge_id` string
    - `created_at` string
    - `currency` string
    - `discount_cents` integer
    - `due_date` string
    - `effective_due_date` string
    - `expected_total_cents` integer
    - `finalized_at` string
    - `hosted_invoice_url` string
    - `invoice_payment_ids` string[]
    - `invoice_pdf` string
    - `last_event_created` string
    - `last_event_id` string
    - `line_items` BillingStripeInvoiceLineItemDoc[]
      - `amount_cents` integer
      - `category` string
      - `currency` string
      - `description` string
      - `line_id` string
      - `period_end` string
      - `period_start` string
      - `proration` boolean
      - `source_ref` string
      - `type` string
    - `matched_period_key` string
    - `matched_user_id` string
    - `mismatch_flags` string[]
    - `mismatch_total_cents` integer
    - `net_cash_cents` integer
    - `paid_at` string
    - `payment_intent_id` string
    - `period_end` string
    - `period_start` string
    - `plan` string
    - `post_payment_credit_note_cents` integer
    - `pre_payment_credit_note_cents` integer
    - `reconciliation_status` string
    - `refund_cents` integer
    - `repair_attempts` integer
    - `repair_error` string
    - `repair_last_attempt_at` string
    - `repair_last_success_at` string
    - `repair_status` string
    - `stripe_customer_id` string
    - `stripe_invoice_id` string
    - `stripe_invoice_number` string
    - `stripe_invoice_status` string
    - `subtotal_cents` integer
    - `subtotal_excluding_tax_cents` integer
    - `tax_cents` integer
    - `total_cents` integer
    - `total_excluding_tax_cents` integer
    - `updated_at` string
  - `msg` string

## Other responses

- `400`: Invalid query parameters
- `401`: Authentication required
- `403`: Admin plan required
- `500`: Internal server error

---

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