Skip to main content
GET
/
v1
/
billing
/
invoices
curl https://gpuoutlet.ai/v1/billing/invoices --cookie "sid=$SID"
{
  "data": [
    {
      "id": "inv_01HZ3J9...",
      "status": "open",
      "reason": "topup_failed",
      "amountCents": 10000,
      "currency": "USD",
      "rentalId": null,
      "stripeInvoiceId": "in_3Q…",
      "hostedInvoiceUrl": "https://invoice.stripe.com/i/acct_test/abc",
      "invoicePdfUrl": "https://pay.stripe.com/invoice/abc/pdf",
      "receiptUrl": null,
      "createdAt": "2026-06-07T04:14:22Z",
      "dueAt": "2026-06-14T04:14:22Z",
      "paidAt": null,
      "voidedAt": null,
      "lineItems": [
        {
          "id": "li_…",
          "description": "Auto-topup of $100.00 (card declined)",
          "amountCents": 10000,
          "rentalId": null,
          "periodStart": null,
          "periodEnd": null
        }
      ]
    }
  ]
}
status
string
Filter to one of: open, paid, void, uncollectible. Omit to return all non-draft invoices. Note: send void over the wire — the TS type uses void_ to avoid JS’s reserved word, the API uses bare void.
limit
number
default:"50"
Max 200.
data
array
Array of invoice objects.
curl https://gpuoutlet.ai/v1/billing/invoices --cookie "sid=$SID"
{
  "data": [
    {
      "id": "inv_01HZ3J9...",
      "status": "open",
      "reason": "topup_failed",
      "amountCents": 10000,
      "currency": "USD",
      "rentalId": null,
      "stripeInvoiceId": "in_3Q…",
      "hostedInvoiceUrl": "https://invoice.stripe.com/i/acct_test/abc",
      "invoicePdfUrl": "https://pay.stripe.com/invoice/abc/pdf",
      "receiptUrl": null,
      "createdAt": "2026-06-07T04:14:22Z",
      "dueAt": "2026-06-14T04:14:22Z",
      "paidAt": null,
      "voidedAt": null,
      "lineItems": [
        {
          "id": "li_…",
          "description": "Auto-topup of $100.00 (card declined)",
          "amountCents": 10000,
          "rentalId": null,
          "periodStart": null,
          "periodEnd": null
        }
      ]
    }
  ]
}

Statuses

StatusMeansWhat’s available
openOwed, not yet paidhostedInvoiceUrl valid; Pay ↗ action
paidSettled via any Stripe pathreceiptUrl valid; Receipt ↗ action
voidVoided before paymentHistorical record only
uncollectible30+ days unpaid, written offHistorical record
draftInternal, transientNot returned by default

Reasons

ReasonTrigger
topup_failedAuto-topup tried to charge the saved card and Stripe declined
overageMetered usage settled higher than the wallet balance
manualOps-issued (refund correction, enterprise contract, wire xfer)