/api/v2/billing/invoices Return invoices for the account.
Use status=unpaid when building pay-now flows and follow nextCursor for additional pages.
Invoice amounts live under totals; payment availability lives under server-owned paymentMethods gates.
Do not infer payability, bulk-payment eligibility, or consolidated-renewal status from line-item counts.
read:billing
Authenticate with an API key in the Authorization: Bearer <token> header.
limit integer · min: 1 · max: 100 · default: 20 Page size from 1 to 100. Defaults to 20. Values outside this range are rejected with 400 invalid_request.
cursor string Opaque cursor from nextCursor for the next page.
status string · enum Filter invoices by normalized status. Use unpaid for pay-now flows, overdue for unpaid invoices past their due date, or collections for invoices handed to collections.
draft unpaid overdue paid partially_paid cancelled refunded collections searchQuery string Find invoices whose invoice number or reference contains this value. Letters, digits, _, and - only; other characters are rejected with 400 invalid_request.
date string
· Example: 2026-04-01 Filter by invoice issue date, YYYY-MM-DD. Combine with dateOp to choose the comparison; without it, matching is on the exact date.
dateOp string · enum Comparison operator for date.
lt gt lte gte eq duedate string
· Example: 2026-05-01 Filter by invoice due date, YYYY-MM-DD. Combine with duedateOp to choose the comparison. Ignored when status=overdue, which applies its own due-date filter.
duedateOp string · enum Comparison operator for duedate. Ignored when status=overdue.
lt gt lte gte eq Authorization Bearer <token> Accept application/json data array<object> data[].id string required
· Example: inv_01hxa3b4c5d6e7f8g9h0j1k2m3 data[].orderId string
· Example: ord_01hxa3b4c5d6e7f8g9h0j1k2m3 Public order ID when the invoice is attached to an order. Domain renewal invoices with an uncancelled order must cancel this order first.
data[].number string required
· Example: 202600001 Customer-facing invoice number.
data[].status string · enum required
· Example: unpaid draft unpaid partially_paid paid cancelled refunded data[].dates object required data[].dates.issuedAt string
· Example: 2026-04-27T12:00:00.000Z data[].dates.dueAt string
· Example: 2026-05-11T23:59:59.000Z data[].dates.paidAt string
· Example: 2026-04-27T12:10:00.000Z data[].totals object required data[].totals.currencyCode string required
· Example: SEK data[].totals.subtotal number required
· Example: 127.2 data[].totals.taxAmount number required
· Example: 31.8 data[].totals.taxRateDecimal number
· Example: 0.25 data[].totals.creditApplied number required
· Example: 0 data[].totals.total number required
· Example: 159 data[].totals.amountPaid number required
· Example: 0 data[].totals.amountRefunded number required
· Example: 0 Total refunded amount recorded against the invoice. Zero when no refund has been recorded.
data[].totals.outstanding number required
· Example: 159 data[].lineItemCount integer
· Example: 1 data[].lineItems array<object> data[].overpaymentCredit object Present only when complete fresh payment and credit records confirm two settled full payments, one card and one Bankgiro, and their entire excess was automatically credited and remains available. This is explanatory evidence, not authorization to refund or add credit. Absence does not prove that an apparent overpayment is resolved.
data[].overpaymentCredit.decision string · enum required card_bankgiro_overpayment_already_credited data[].overpaymentCredit.currencyCode string · enum required SEK data[].overpaymentCredit.invoiceAmount number required
· Example: 211.25 data[].overpaymentCredit.excessAmount number required
· Example: 211.25 data[].overpaymentCredit.creditedAt string required
· Example: 2026-07-09 data[].overpaymentCredit.currentCreditBalance number · min: 0 required
· Example: 211.25 data[].payments array<object> data[].payments[].kind string · nullable · enum
· Example: payment Optional row kind. account_credit_added marks an overpayment that was added to the customer's account credit instead of counted as an additional invoice payment.
payment account_credit_added data[].payments[].method string · nullable · enum required
· Example: card Canonical payment method enum. Display labels and upstream gateway names never appear here; use methodLabel for text.
card accountCredit swish bankgiro sepa alipay crypto paypal invoice other data[].payments[].methodLabel string · nullable required
· Example: Card Human-readable payment method label for display.
data[].payments[].amount number required
· Example: 98.75 data[].payments[].currencyCode string required
· Example: SEK ISO-4217 currency for amount.
data[].note string
· Example: Thank you for your order. data[].actions object required data[].actions.canPay object required data[].actions.canPay.allowed boolean required
· Example: true data[].actions.canPay.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canPay.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canGeneratePaymentLink object required data[].actions.canGeneratePaymentLink.allowed boolean required
· Example: true data[].actions.canGeneratePaymentLink.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canGeneratePaymentLink.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canBulkPay object required data[].actions.canBulkPay.allowed boolean required
· Example: true data[].actions.canBulkPay.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canBulkPay.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canCancel object required data[].actions.canCancel.allowed boolean required
· Example: true data[].actions.canCancel.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canCancel.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canEmail object required data[].actions.canEmail.allowed boolean required
· Example: true data[].actions.canEmail.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canEmail.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canDownload object required data[].actions.canDownload.allowed boolean required
· Example: true data[].actions.canDownload.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canDownload.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].actions.canReissueInCurrency object required Whether the account can switch to EUR and have this invoice replaced by an EUR invoice for the same period, which makes SEPA bank transfer available (customers outside Sweden with a SEK invoice). Execute with POST /api/v2/billing/invoices/{id}/actions/reissue-in-currency. When blocked, branch on code: invoice_order_backed (a pending order or plan change backs the invoice: cancel that order and order again after changing currency), invoice_domain_renewal (cancel the renewal order and renew again), invoice_partially_settled, invoice_multiple_services, invoice_usage_not_reissuable and renewal_period_ended (contact support), account_country_not_eligible (Swedish accounts pay by bankgiro, Swish or card).
data[].actions.canReissueInCurrency.allowed boolean required
· Example: true data[].actions.canReissueInCurrency.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].actions.canReissueInCurrency.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
data[].paymentMethods object required Per-method payment availability. Keys include card, accountCredit, swish, bankgiro, sepa, alipay, and crypto. Check these server-owned gates before starting a payment flow.
data[].paymentMethods.card object required data[].paymentMethods.card.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.card.label string required
· Example: Card data[].paymentMethods.card.available boolean required
· Example: true data[].paymentMethods.card.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.card.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.card.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.card.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.card.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.card.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.card.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.card.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.card.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.card.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.card.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.card.requirements.availableBalance object data[].paymentMethods.card.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.card.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.card.requirements.minimumAmount object data[].paymentMethods.card.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.card.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.card.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.card.requirements.maximumAmount object data[].paymentMethods.card.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.card.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.card.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.accountCredit object required data[].paymentMethods.accountCredit.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.accountCredit.label string required
· Example: Card data[].paymentMethods.accountCredit.available boolean required
· Example: true data[].paymentMethods.accountCredit.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.accountCredit.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.accountCredit.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.accountCredit.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.accountCredit.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.accountCredit.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.accountCredit.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.accountCredit.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.accountCredit.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.accountCredit.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.accountCredit.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.accountCredit.requirements.availableBalance object data[].paymentMethods.accountCredit.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.accountCredit.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.accountCredit.requirements.minimumAmount object data[].paymentMethods.accountCredit.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.accountCredit.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.accountCredit.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.accountCredit.requirements.maximumAmount object data[].paymentMethods.accountCredit.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.accountCredit.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.accountCredit.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.swish object required data[].paymentMethods.swish.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.swish.label string required
· Example: Card data[].paymentMethods.swish.available boolean required
· Example: true data[].paymentMethods.swish.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.swish.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.swish.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.swish.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.swish.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.swish.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.swish.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.swish.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.swish.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.swish.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.swish.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.swish.requirements.availableBalance object data[].paymentMethods.swish.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.swish.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.swish.requirements.minimumAmount object data[].paymentMethods.swish.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.swish.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.swish.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.swish.requirements.maximumAmount object data[].paymentMethods.swish.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.swish.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.swish.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.bankgiro object required data[].paymentMethods.bankgiro.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.bankgiro.label string required
· Example: Card data[].paymentMethods.bankgiro.available boolean required
· Example: true data[].paymentMethods.bankgiro.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.bankgiro.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.bankgiro.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.bankgiro.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.bankgiro.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.bankgiro.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.bankgiro.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.bankgiro.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.bankgiro.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.bankgiro.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.bankgiro.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.bankgiro.requirements.availableBalance object data[].paymentMethods.bankgiro.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.bankgiro.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.bankgiro.requirements.minimumAmount object data[].paymentMethods.bankgiro.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.bankgiro.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.bankgiro.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.bankgiro.requirements.maximumAmount object data[].paymentMethods.bankgiro.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.bankgiro.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.bankgiro.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.sepa object required data[].paymentMethods.sepa.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.sepa.label string required
· Example: Card data[].paymentMethods.sepa.available boolean required
· Example: true data[].paymentMethods.sepa.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.sepa.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.sepa.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.sepa.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.sepa.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.sepa.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.sepa.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.sepa.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.sepa.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.sepa.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.sepa.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.sepa.requirements.availableBalance object data[].paymentMethods.sepa.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.sepa.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.sepa.requirements.minimumAmount object data[].paymentMethods.sepa.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.sepa.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.sepa.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.sepa.requirements.maximumAmount object data[].paymentMethods.sepa.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.sepa.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.sepa.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.alipay object required data[].paymentMethods.alipay.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.alipay.label string required
· Example: Card data[].paymentMethods.alipay.available boolean required
· Example: true data[].paymentMethods.alipay.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.alipay.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.alipay.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.alipay.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.alipay.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.alipay.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.alipay.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.alipay.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.alipay.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.alipay.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.alipay.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.alipay.requirements.availableBalance object data[].paymentMethods.alipay.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.alipay.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.alipay.requirements.minimumAmount object data[].paymentMethods.alipay.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.alipay.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.alipay.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.alipay.requirements.maximumAmount object data[].paymentMethods.alipay.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.alipay.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.alipay.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.crypto object required data[].paymentMethods.crypto.method string · enum required
· Example: card Canonical v2 payment method. Card-backed hosted checkout and wallet flows are represented as card; provider names are not public v2 method values.
card accountCredit swish bankgiro sepa alipay crypto data[].paymentMethods.crypto.label string required
· Example: Card data[].paymentMethods.crypto.available boolean required
· Example: true data[].paymentMethods.crypto.visible boolean
· Example: true Present for restricted methods. When false, the method must not be rendered to the customer.
data[].paymentMethods.crypto.reason string · nullable required
· Example: null Human-readable blocker when available is false.
data[].paymentMethods.crypto.checkoutMode string · nullable · enum required
· Example: payment Hosted checkout mode used by the existing payment session endpoint, or null for methods handled without hosted checkout.
payment sepa_bank_transfer_payment alipay_payment data[].paymentMethods.crypto.requirements object required Machine-readable requirements for the payment method. Examples: card minimum amount, Swish/Bankgiro Swedish account requirement, SEPA bank transfer EUR requirement, cryptocurrency account eligibility, account-credit balance limit.
data[].paymentMethods.crypto.requirements.invoiceCurrencyCode string
· Example: SEK data[].paymentMethods.crypto.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] data[].paymentMethods.crypto.requirements.accountCountryCode string
· Example: SE data[].paymentMethods.crypto.requirements.accountCountryExcludedCode string
· Example: SE Billing country that is explicitly excluded for this method.
data[].paymentMethods.crypto.requirements.accountType string · enum
· Example: private private organisation data[].paymentMethods.crypto.requirements.accountCurrencyCode string
· Example: SEK data[].paymentMethods.crypto.requirements.requiresCardVerification boolean
· Example: true Whether a saved card or prior successful card payment is required.
data[].paymentMethods.crypto.requirements.availableBalance object data[].paymentMethods.crypto.requirements.availableBalance.amount number required
· Example: 100 data[].paymentMethods.crypto.requirements.availableBalance.currencyCode string required
· Example: SEK data[].paymentMethods.crypto.requirements.minimumAmount object data[].paymentMethods.crypto.requirements.minimumAmount.amount number required
· Example: 3 data[].paymentMethods.crypto.requirements.minimumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.crypto.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentMethods.crypto.requirements.maximumAmount object data[].paymentMethods.crypto.requirements.maximumAmount.amount number required
· Example: 3 data[].paymentMethods.crypto.requirements.maximumAmount.currencyCode string required
· Example: SEK data[].paymentMethods.crypto.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal data[].paymentLinkGeneratorUrl string · nullable required
· Example: /api/v2/billing/invoices/inv_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/generate-payment-link Nullable: may be null when not applicable.
data[].isBulkPaymentChild boolean required
· Example: false data[].bulkPaymentParentId string · nullable required
· Example: null Nullable: may be null when not applicable.
data[].coversInvoiceIds array<string>
· Example: ["inv_01hxa3b4c5d6e7f8g9h0j1k2m3"] data[].renewalInvoicing object Present only when the invoice detail route can evaluate the same renewal invoicing preference logic used by invoice emails.
data[].renewalInvoicing.preference string · enum required
· Example: consolidated consolidated separate data[].renewalInvoicing.generatedByAutomation boolean required
· Example: true True when the invoice was generated by the renewal automation path that also shows the invoice-email preference note.
data[].renewalInvoicing.isConsolidated boolean required
· Example: true True only when this is an automated renewal invoice and the account preference was consolidated at generation time. Do not infer this from line-item count.
data[].renewalInvoicing.label string required
· Example: Consolidated renewal invoice data[].renewalInvoicing.settingsUrl string required
· Example: /account data[].delivery object Present only when the invoice is delivered as an e-invoice via the Peppol network. Absent for normal invoices.
data[].delivery.channel string · enum required
· Example: peppol peppol data[].delivery.status string · enum required
· Example: sent queued = accepted for e-invoice dispatch (waiting for the send window, or a same-day unpaid invoice of a Peppol-registered organisation that the bookkeeping platform has not picked up yet); sent = transmitted into the Peppol network; delivered = the recipient's access point confirmed receipt. Failed or ineligible deliveries never appear here — those invoices present as normal invoices without a delivery field.
queued sent delivered data[].delivery.sentAt string · nullable required
· Example: 2026-07-28T08:15:00.000Z Moment the e-invoice was transmitted into the Peppol network. Null while the delivery is still queued.
data[].delivery.deliveredAt string · nullable required
· Example: null Receipt confirmation from the recipient's access point. Null until confirmed.
data[].cancellation object Present only on a cancelled invoice whose cancellation reason is verified. Returned by the invoice detail endpoint; list items never carry it.
data[].cancellation.code string · enum required
· Example: domain_registered_elsewhere Stable machine value. domain_registered_elsewhere = an unpaid order for a NEW domain registration was cancelled automatically because the name was registered by someone else before the invoice was paid. A new domain is registered only once its invoice is paid, so the name was never held on this account and nothing was charged.
domain_registered_elsewhere data[].cancellation.reason string required
· Example: example.se was registered by someone else before this invoice was paid, so the order wa... Human-readable explanation in English. Use code to branch or to pick localized copy.
data[].cancellation.domainName string required
· Example: example.se The ordered domain name.
data[].cancellation.registrarName string · nullable required
· Example: Example Registrar AB The registrar the name is now registered through, as published by the registry. null when not known.
data[].cancellation.registeredAt string · nullable required
· Example: 2026-08-31T00:00:00.000Z When the other registration was created at the registry (day precision, midnight UTC). null when not known.
data[].cancellation.cancelledAt string · nullable required
· Example: 2026-09-01T02:50:23.717Z When the order and invoice were cancelled. It follows registeredAt because the cancellation is a consequence of that registration.
hasMore boolean
· Example: false nextCursor string · nullable
· Example: null type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object Retry-After seconds plus X-RateLimit-* headers. 10 fields type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/billing/invoices curl -X GET "https://cloud.hostup.se/api/v2/billing/invoices" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"data": [
{
"id": "inv_01hxa3b4c5d6e7f8g9h0j1k2m3",
"number": "202600001",
"status": "paid",
"dates": {
"issuedAt": "2026-04-27T12:00:00.000Z",
"dueAt": "2026-05-11T23:59:59.000Z",
"paidAt": "2026-04-27T12:34:56.000Z"
},
"totals": {
"currencyCode": "SEK",
"subtotal": 199,
"taxAmount": 49.75,
"taxRateDecimal": 0.25,
"creditApplied": 0,
"total": 248.75,
"amountPaid": 248.75,
"amountRefunded": 0,
"outstanding": 0
},
"actions": {
"canPay": {
"allowed": false,
"reason": "Invoice is already paid."
},
"canGeneratePaymentLink": {
"allowed": false,
"reason": "Invoice is already paid."
},
"canBulkPay": {
"allowed": false,
"reason": "Invoice is already paid."
},
"canCancel": {
"allowed": false,
"reason": "Only unpaid invoices can be cancelled."
},
"canEmail": {
"allowed": true,
"reason": null
},
"canDownload": {
"allowed": true,
"reason": null
}
},
"paymentMethods": {
"card": {
"method": "card",
"label": "Card",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": "payment",
"requirements": {
"minimumAmount": {
"amount": 3,
"currencyCode": "SEK",
"comparison": "greater_than"
}
}
},
"accountCredit": {
"method": "accountCredit",
"label": "Account credit",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCurrencyCode": "SEK",
"availableBalance": {
"amount": 0,
"currencyCode": "SEK"
},
"maximumAmount": {
"amount": 0,
"currencyCode": "SEK",
"comparison": "less_than_or_equal"
}
}
},
"swish": {
"method": "swish",
"label": "Swish",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCountryCode": "SE"
}
},
"bankgiro": {
"method": "bankgiro",
"label": "Bankgiro",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCountryCode": "SE"
}
},
"sepa": {
"method": "sepa",
"label": "SEPA bank transfer",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": "sepa_bank_transfer_payment",
"requirements": {
"invoiceCurrencyCode": "EUR"
}
},
"alipay": {
"method": "alipay",
"label": "Alipay",
"available": false,
"reason": "Invoice is already paid.",
"checkoutMode": "alipay_payment",
"requirements": {
"invoiceCurrencyCodes": [
"EUR",
"USD"
]
}
},
"crypto": {
"method": "crypto",
"label": "Cryptocurrency",
"available": false,
"reason": "Cryptocurrency payments are not available for Swedish billing accounts.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCodes": [
"SEK",
"EUR",
"USD"
],
"accountCountryExcludedCode": "SE",
"accountType": "private",
"requiresCardVerification": true
},
"visible": false
}
},
"paymentLinkGeneratorUrl": null,
"isBulkPaymentChild": false,
"bulkPaymentParentId": null
}
],
"hasMore": false,
"nextCursor": null
}