API Reference (Max only)
Invoices

Invoices

An invoice represents a single payment event — either a checkout completed by a customer or an automatic renewal of a recurring subscription. Invoices are immutable once created.

The Seller API exposes invoices read-only. The response shape mirrors the CSV export in your dashboard.

GET /v1/invoices

List invoices, most recent first.

Tier: C  ·  Auth: required  ·  Idempotent: N/A

At least one filter is required. To prevent accidental full-table scans, you must provide either a createdAfter / createdBefore window or one of status, paymentMethod, customerId, productId, subscriptionId. Calls with no filter return 400 invalid_request.

Query parameters

ParameterTypeDescription
statusstringFilter by invoice status. One of created, paid, partiallypaid, paidout, completed, refunded.
paymentMethodstringOne of stripe, crypto, free.
customerIdstringDiscord user ID.
productIdintegerFilter by product.
subscriptionIdintegerFilter by subscription.
createdAfterstringISO 8601 UTC timestamp (inclusive).
createdBeforestringISO 8601 UTC timestamp (inclusive). Window cannot exceed 365 days.
limitintegerPage size (max 100, default 50).
cursorstringPagination cursor.

Request

curl "https://subscord.com/api/v1/invoices?status=completed&createdAfter=2026-04-01T00:00:00Z&createdBefore=2026-05-01T00:00:00Z&limit=100" \
  -H "Authorization: Bearer ssk_live_..."

Response — 200 OK

{
  "data": [
    {
      "id": "cs_test_b1nM3...",
      "customerDiscordId": "987654321098765432",
      "username": "johndoe",
      "product": { "name": "Premium" },
      "productOption": { "name": "Monthly" },
      "discountCode": "LAUNCH20",
      "paymentMethod": "stripe",
      "origin": "Checkout",
      "token": null,
      "chain": null,
      "createdAt": "2026-04-23T18:14:03.000Z",
      "amount": 799,
      "currency": "USD",
      "status": "completed"
    }
  ],
  "nextCursor": "eyJjcmVhdGVkQXRNcyI6MTc0NTQzNzY0MzAwMCwiaWQiOiJjc190ZXN0XyJ9"
}

GET /v1/invoices/{id}

Returns a single invoice.

Tier: A  ·  Auth: required  ·  Idempotent: N/A

Path parameters

ParameterTypeDescription
idstringThe invoice ID (treat as opaque — formats vary by payment method).

Request

curl https://subscord.com/api/v1/invoices/cs_test_b1nM3... \
  -H "Authorization: Bearer ssk_live_..."

Response — 200 OK

Same shape as a single entry in the list response above.

Errors

StatusCodeWhen
400invalid_requestList call is missing all filters, or the date window is invalid.
404not_foundNo invoice with that ID exists for this server.

Field reference

FieldTypeDescription
idstringInvoice ID. Format depends on the payment method (Stripe checkout session, crypto reference, etc.).
customerDiscordIdstringThe paying customer's Discord user ID.
usernamestringThe customer's Discord username at the time of the response.
product.namestring | nullThe product name.
productOption.namestring | nullThe product option name.
discountCodestring | nullThe discount code applied at checkout, if any.
paymentMethodstring | null"stripe", "crypto", or "free".
originstring | null"Checkout" for fresh purchases, "Auto-renewal" for recurring renewals, or null.
tokenstring | nullFor crypto payments, the token symbol used (e.g. "USDC"). null otherwise.
chainstring | nullFor crypto payments, the chain (e.g. "ethereum"). null otherwise.
createdAtstring | nullUTC ISO 8601 timestamp when the invoice was recorded.
amountinteger | nullAmount in minor units of currency (e.g. 999 = $9.99). null if the underlying amount is missing. See Conventions.
currencystringISO 4217 currency code.
statusstringOne of created, paid, partiallypaid, paidout, completed, refunded.