Skip to main content
GET
/
v1
/
billing
/
invoices
/
:id
curl https://gpuoutlet.ai/v1/billing/invoices/inv_01HZ3J9... --cookie "sid=$SID"
{
  "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
    }
  ]
}
id
string
required
Invoice id (inv_…).
id
string
status
string
open · paid · void · uncollectible · draft
reason
string
topup_failed · overage · manual
amountCents
number
Total owed.
currency
string
Always USD today.
rentalId
string | null
Linked rental for overage invoices.
stripeInvoiceId
string | null
Mirror id on Stripe’s side.
hostedInvoiceUrl
string | null
Stripe-hosted pay page. May rotate — use /pay-url for a fresh value.
invoicePdfUrl
string | null
Stripe-hosted PDF.
receiptUrl
string | null
Stripe-hosted receipt (paid invoices only).
createdAt
string
dueAt
string | null
Soft deadline; we don’t enforce it ourselves — Stripe does dunning.
paidAt
string | null
voidedAt
string | null
lineItems
array
Per-line breakdown — descriptions + per-line amounts.
curl https://gpuoutlet.ai/v1/billing/invoices/inv_01HZ3J9... --cookie "sid=$SID"
{
  "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
    }
  ]
}