Strimz
API Reference

Invoices

Hosted, branded payment pages with line items.

Create

POST /v1/invoices
{
  "customerName": "Acme Inc.",
  "customerEmail": "ap@acme.com",
  "currency": "USDC",
  "lineItems": [
    { "description": "Hosting", "quantity": 1, "unitAmount": "50000000" },
    { "description": "Support", "quantity": 2, "unitAmount": "10000000" }
  ],
  "note": "Net 14",
  "dueInDays": 14
}

Returns:

{
  "id": "inv_xyz",
  "number": "2026-0001",
  "subtotal": "70000000",
  "total": "70000000",
  "currency": "USDC",
  "status": "draft",
  "sessionId": "sess_xyz",
  "dueAt": "2026-05-13T...",
  "lineItems": [...],
  ...
}

Send

POST /v1/invoices/{id}/send

Emails the customer. Requires customerEmail to be set; returns 403 otherwise.

Void

POST /v1/invoices/{id}/void

Cannot void a paid invoice. Issue a refund instead. Voiding cancels the backing payment session.

Read

GET  /v1/invoices/{id}
GET  /v1/invoices?status=overdue

Lifecycle

draft  →  sent  →  paid

               overdue  →  void

Daily cron flips invoices past dueAt to overdue and fires invoice.overdue.

Webhook events

EventFires when
invoice.createdA new invoice was created
invoice.sentThe invoice email was delivered
invoice.paidThe backing session confirmed
invoice.overduedueAt passed without payment

On this page