Billing
View your subscription and invoice history, and open the hosted billing portal to manage your payment method. Haltless bills a single per-machine subscription. All endpoints are authenticated with a Bearer JWT (see Authentication).
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/billing/subscription | View your current subscription |
GET | /api/v1/billing/invoices | List your invoices |
POST | /api/v1/billing/portal-session | Open the hosted billing portal (Admin) |
The portal endpoint requires an account administrator role.
Subscription
GET /api/v1/billing/subscription
{
"status": "active",
"current_period_start": "2026-08-01T00:00:00Z",
"current_period_end": "2026-09-01T00:00:00Z",
"cancel_at_period_end": false,
"created_at": "2026-01-15T00:00:00Z"
}
status reflects the current billing state (for example active, past_due, canceled). Returns 404 if no subscription exists yet.
Invoices
GET /api/v1/billing/invoices
Returns your invoice history, most recent first. Amounts are in the smallest currency unit (for example cents).
{
"invoices": [
{
"id": "...",
"number": "INV-0001",
"status": "paid",
"amount_due": 9900,
"amount_paid": 9900,
"currency": "usd",
"created": "2026-08-01T00:00:00Z",
"period_start": "2026-08-01T00:00:00Z",
"period_end": "2026-09-01T00:00:00Z",
"hosted_invoice_url": "https://…",
"invoice_pdf": "https://…"
}
]
}
Each invoice includes hosted_invoice_url (view online) and invoice_pdf (download).
Billing portal
POST /api/v1/billing/portal-session
Creates a session for the hosted billing portal, where you can update your payment method and download invoices. Redirect the user to the returned url.
{ "url": "https://…" }