Return saved card payment methods, card auto-charge settings, billing notification contacts, and account-level invoice payment rules. For a specific invoice, prefer that invoice's paymentMethods block because it includes invoice status, outstanding amount, currency, card minimum, account-credit balance, Swish/Bankgiro country rules, and EUR SEPA eligibility.
read:billing
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
Accept Example Content-Type Example methods array<object> Saved card payment methods. For invoice-specific availability, read `invoicePaymentMethodRules` here or `paymentMethods` on a concrete invoice.
methods[].id string required
· Example: card_01hxa3b4c5d6e7f8g9h0j1k2m3 Public saved-card ID. Use this as `savedCardId` for card-only invoice payment actions.
methods[].brand string required
· Example: visa methods[].last4 stringnull required
· Example: 4242 methods[].expMonth numbernull required
· Example: 12 methods[].expYear numbernull required
· Example: 2028 methods[].cardholderName stringnull required
· Example: null methods[].isPrimary boolean required
· Example: true methods[].addedAt stringnull required
· Example: 2026-04-27T12:00:00.000Z hasPrimaryMethod boolean
· Example: true billing object billing.cardAutoCharge object required billing.cardAutoCharge.enabled boolean required
· Example: true Effective enabled state. False when configured is true but no saved card is available.
billing.cardAutoCharge.method string · enum required
· Example: card card billing.cardAutoCharge.status string · enum required
· Example: active `active` means automatic saved-card charging is ready. `needs_payment_method` means the preference is on but no saved card exists. `disabled` means the preference is off.
active needs_payment_method disabled billing.cardAutoCharge.configured boolean required
· Example: true Saved preference. If true but no saved card exists, `enabled` is false and `status` is `needs_payment_method`.
billing.cardAutoCharge.hasPaymentMethod boolean required
· Example: true True when the account has a saved card that can be used for auto-charge.
billing.cardAutoCharge.label string required
· Example: Card auto-charge billing.cardAutoCharge.description string required
· Example: Automatically charge the saved card when invoices are due. billing.cardAutoCharge.reason stringnull required
· Example: null billing.cardAutoCharge.actions object required billing.cardAutoCharge.actions.canToggle object required billing.cardAutoCharge.actions.canToggle.allowed boolean required
· Example: true billing.cardAutoCharge.actions.canToggle.reason stringnull required
· Example: null billing.cardAutoCharge.actions.canToggle.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
billingContacts array<object> billingContacts[].id string required
· Example: 42 Billing notification contact ID. Get it from `GET /api/v2/billing/payment-methods/contacts` before deleting.
billingContacts[].description stringnull required
· Example: Accounts payable invoicePaymentMethodRules object invoicePaymentMethodRules.card object required invoicePaymentMethodRules.card.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.card.label string required
· Example: Bankgiro invoicePaymentMethodRules.card.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.card.reason stringnull required
· Example: null invoicePaymentMethodRules.card.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.card.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.card.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.card.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.card.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.card.requirements.availableBalance object invoicePaymentMethodRules.card.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.card.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.card.requirements.minimumAmount object invoicePaymentMethodRules.card.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.card.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.card.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.card.requirements.maximumAmount object invoicePaymentMethodRules.card.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.card.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.card.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.accountCredit object required invoicePaymentMethodRules.accountCredit.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.accountCredit.label string required
· Example: Bankgiro invoicePaymentMethodRules.accountCredit.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.accountCredit.reason stringnull required
· Example: null invoicePaymentMethodRules.accountCredit.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.accountCredit.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.accountCredit.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.accountCredit.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.accountCredit.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.accountCredit.requirements.availableBalance object invoicePaymentMethodRules.accountCredit.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.accountCredit.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.accountCredit.requirements.minimumAmount object invoicePaymentMethodRules.accountCredit.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.accountCredit.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.accountCredit.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.accountCredit.requirements.maximumAmount object invoicePaymentMethodRules.accountCredit.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.accountCredit.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.accountCredit.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.swish object required invoicePaymentMethodRules.swish.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.swish.label string required
· Example: Bankgiro invoicePaymentMethodRules.swish.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.swish.reason stringnull required
· Example: null invoicePaymentMethodRules.swish.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.swish.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.swish.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.swish.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.swish.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.swish.requirements.availableBalance object invoicePaymentMethodRules.swish.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.swish.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.swish.requirements.minimumAmount object invoicePaymentMethodRules.swish.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.swish.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.swish.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.swish.requirements.maximumAmount object invoicePaymentMethodRules.swish.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.swish.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.swish.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.bankgiro object required invoicePaymentMethodRules.bankgiro.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.bankgiro.label string required
· Example: Bankgiro invoicePaymentMethodRules.bankgiro.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.bankgiro.reason stringnull required
· Example: null invoicePaymentMethodRules.bankgiro.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.bankgiro.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.bankgiro.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.bankgiro.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.bankgiro.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.bankgiro.requirements.availableBalance object invoicePaymentMethodRules.bankgiro.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.bankgiro.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.bankgiro.requirements.minimumAmount object invoicePaymentMethodRules.bankgiro.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.bankgiro.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.bankgiro.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.bankgiro.requirements.maximumAmount object invoicePaymentMethodRules.bankgiro.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.bankgiro.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.bankgiro.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.sepa object required invoicePaymentMethodRules.sepa.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.sepa.label string required
· Example: Bankgiro invoicePaymentMethodRules.sepa.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.sepa.reason stringnull required
· Example: null invoicePaymentMethodRules.sepa.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.sepa.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.sepa.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.sepa.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.sepa.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.sepa.requirements.availableBalance object invoicePaymentMethodRules.sepa.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.sepa.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.sepa.requirements.minimumAmount object invoicePaymentMethodRules.sepa.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.sepa.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.sepa.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.sepa.requirements.maximumAmount object invoicePaymentMethodRules.sepa.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.sepa.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.sepa.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.alipay object required invoicePaymentMethodRules.alipay.method string · enum required
· Example: bankgiro card accountCredit swish bankgiro sepa alipay invoicePaymentMethodRules.alipay.label string required
· Example: Bankgiro invoicePaymentMethodRules.alipay.availableForAccount boolean required
· Example: true Account-level availability only. Check a concrete invoice's `paymentMethods` for final status, amount, and currency gates.
invoicePaymentMethodRules.alipay.reason stringnull required
· Example: null invoicePaymentMethodRules.alipay.checkoutMode stringnull · enum required
· Example: null payment sepa_bank_transfer_payment alipay_payment invoicePaymentMethodRules.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, account-credit balance limit.
invoicePaymentMethodRules.alipay.requirements.invoiceCurrencyCode string
· Example: SEK invoicePaymentMethodRules.alipay.requirements.invoiceCurrencyCodes array<string>
· Example: ["EUR","USD"] invoicePaymentMethodRules.alipay.requirements.accountCountryCode string
· Example: SE invoicePaymentMethodRules.alipay.requirements.accountCurrencyCode string
· Example: SEK invoicePaymentMethodRules.alipay.requirements.availableBalance object invoicePaymentMethodRules.alipay.requirements.availableBalance.amount number required
· Example: 100 invoicePaymentMethodRules.alipay.requirements.availableBalance.currencyCode string required
· Example: SEK invoicePaymentMethodRules.alipay.requirements.minimumAmount object invoicePaymentMethodRules.alipay.requirements.minimumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.alipay.requirements.minimumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.alipay.requirements.minimumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal invoicePaymentMethodRules.alipay.requirements.maximumAmount object invoicePaymentMethodRules.alipay.requirements.maximumAmount.amount number required
· Example: 3 invoicePaymentMethodRules.alipay.requirements.maximumAmount.currencyCode string required
· Example: SEK invoicePaymentMethodRules.alipay.requirements.maximumAmount.comparison string · enum required
· Example: greater_than greater_than less_than_or_equal 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 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/payment-methods curl -X GET "https://cloud.hostup.se/api/v2/billing/payment-methods" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"methods": [
{
"id": "card_01hxa3b4c5d6e7f8g9h0j1k2m3",
"brand": "visa",
"last4": "5566",
"expMonth": 4,
"expYear": 2027,
"cardholderName": "Example Customer",
"isPrimary": true,
"addedAt": "2026-04-27T12:34:56.000Z"
}
],
"hasPrimaryMethod": true,
"billing": {
"cardAutoCharge": {
"enabled": true,
"method": "card",
"status": "active",
"configured": true,
"hasPaymentMethod": true,
"label": "Card auto-charge",
"description": "Automatically charge the saved card when invoices are due.",
"reason": null,
"actions": {
"canToggle": {
"allowed": true,
"reason": null
}
}
}
},
"billingContacts": [
{
"id": "111",
"email": "[email protected]",
"description": null
}
],
"invoicePaymentMethodRules": {
"card": {
"method": "card",
"label": "Card",
"availableForAccount": true,
"reason": null,
"checkoutMode": "payment",
"requirements": {}
},
"accountCredit": {
"method": "accountCredit",
"label": "Account credit",
"availableForAccount": false,
"reason": "No account credit is available.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCurrencyCode": "SEK",
"availableBalance": {
"amount": 0,
"currencyCode": "SEK"
}
}
},
"swish": {
"method": "swish",
"label": "Swish",
"availableForAccount": false,
"reason": "Swish requires a Swedish billing account and a SEK invoice.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCountryCode": "SE"
}
},
"bankgiro": {
"method": "bankgiro",
"label": "Bankgiro",
"availableForAccount": false,
"reason": "Bankgiro is only available for Swedish billing accounts with SEK invoices.",
"checkoutMode": null,
"requirements": {
"invoiceCurrencyCode": "SEK",
"accountCountryCode": "SE"
}
},
"sepa": {
"method": "sepa",
"label": "SEPA bank transfer",
"availableForAccount": true,
"reason": null,
"checkoutMode": "sepa_bank_transfer_payment",
"requirements": {
"invoiceCurrencyCode": "EUR"
}
},
"alipay": {
"method": "alipay",
"label": "Alipay",
"availableForAccount": true,
"reason": null,
"checkoutMode": "alipay_payment",
"requirements": {
"invoiceCurrencyCodes": [
"EUR",
"USD"
]
}
}
}
}