---
title: "Get Reload Settings"
method: GET
path: "/api/v1/billing/reloads"
tags: ["billing"]
---

# Get Reload Settings

`GET /api/v1/billing/reloads`

The reload bundles, automatic reload settings and recent attempts.

Readable by every member, like every other billing route.

## Response `200`

Successful Response

- ReloadSettingsResponse — What the billing page needs to show and change reloads. ``custom_min_usd`` is the least a workspace may name for itself instead of picking one of ``bundles_usd``. There is no largest: one purchase is deliberately uncapped.
  - `bundles_usd` string[], required
  - `custom_min_usd` string, required
  - `can_purchase` boolean, required
  - `saved_card` SavedCardView, required — The card a purchase would charge, named so the page can show it. Absent when the workspace has no card saved, which is also the signal that buying has to collect one before it can charge.
    - `brand` string, required
    - `last4` string, required
  - `confirmable_attempt_id` string, uuid, nullable, required
  - `automatic` AutomaticReloadView, required — A workspace's automatic reload, with the platform terms it runs under. ``threshold_usd`` and ``monthly_cap_usd`` are the workspace's own choices. ``max_monthly_cap_usd`` is MAIA's ceiling on an unattended charge: a higher cap cannot be saved, and a saved cap above a ceiling a later release lowers is charged against the ceiling. ``disabled_reason`` names the one thing stopping automatic reload from charging, whether or not ``enabled`` is still true. Only the payment reasons are stored pauses a member clears by turning reload back on. The rest are derived and clear by themselves: a reactivated subscription, or a release restoring an amount, resumes a reload that was never turned off.
    - `enabled` boolean, required
    - `bundle_usd` string, nullable, required
    - `threshold_usd` string, nullable, required
    - `monthly_cap_usd` string, nullable, required
    - `max_monthly_cap_usd` string, required
    - `spent_this_period_usd` string, required
    - `period_end` string, date, nullable, required
    - `disabled_reason` 'subscription_cancel_requested' | 'payment_failed' | 'authentication_required' | 'no_saved_payment_method' | 'no_paid_plan' | 'subscription_inactive' | 'usage_not_metered' | 'bundle_withdrawn' | 'cap_below_bundle', required — Why a workspace's automatic reload will not charge, as its admins see it. The stored pauses, plus the conditions that stop an enabled reload without anyone turning it off: a pending cancel, a lapsed subscription, a workspace moved off metered usage, and terms staff changed after the workspace saved its own.
  - `latest_attempts` ReloadAttemptView[], required
    - `id` string, uuid, required
    - `trigger` 'manual' | 'automatic', required — Who started a reload.
    - `status` 'pending' | 'requires_action' | 'succeeded' | 'failed' | 'canceled', required — Where one attempt stands, as read back from its PaymentIntent.
    - `amount_usd` string, required
    - `failure_code` 'authentication_required' | 'card_declined' | 'no_saved_payment_method' | 'not_charged' | 'payment_failed', required — Why an attempt ended without collecting, in customer-actionable terms.
    - `created_at` string, date-time, required
    - `resolved_at` string, date-time, nullable, required

## Changes

- **2026-09-23** `7720763f8bf1` — 1 breaking, 1 warning, 5 info
  - removed the required property `automatic/offered` from the response with the `200` status
  - added the new `usage_not_metered` enum value to the `automatic/disabled_reason/anyOf[subschema #1: AutoReloadStopReason]/` response property for the response status `200`
  - removed the `not_offered` enum value from the `automatic/disabled_reason/anyOf[subschema #1: AutoReloadStopReason]/` response property for the response status `200`
  - response property `automatic/max_monthly_cap_usd` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - …3 more
- **2026-09-19** `924eeadc29ad` — 1 info
  - added the required property `confirmable_attempt_id` to the response with the `200` status
- **2026-09-16** `95495ef535bc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/maia-analytics/apis/maia-api/changes/api/v1/billing/reloads/get.md)

---

[API](https://skmtc.dev/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.dev/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maia-analytics/apis/maia-api/revisions/bb508e935174?raw)
