Invoices

A bill issued to a customer.

Status: contracted_test. In the machine-checked test-mode contract (openapi.subset.json) and the API Reference: create, retrieve, list, plus finalize and hosted_invoice_url. Invoice Pay is unavailable and absent from the API Reference. Served by the fluveo-billing sidecar (ADR 0019); promoted 2026-07-13. The Stripe-Version header is optional; send an Idempotency-Key on POST writes. See API coverage.

An Invoice is a bill to a customer — a collection of invoice items and/or subscription charges that moves through draft → open → paid (or void/uncollectible). Credit notes adjust an issued invoice.

Contracted test-mode operations: create, retrieve, list, finalize, and the Fluveo-extension hosted invoice URL mint (GET /v1/invoices/{invoice}/hosted_invoice_url, returning a site-relative /i/{token} page path that is revoked once the invoice is paid). Finalize returns the abbreviated confirmation ({id, object, status, total}) — retrieve the invoice for the full object with customer, collection_method, and lines. Dashboard-created invoices use the same API through a session-scoped proxy and persist in merchant-scoped durable Billing storage.

POST /v1/invoices/{invoice}/pay is mounted but unavailable. Do not call it; hosted payment completion is a separate product flow and does not promote the API operation.