> ## Documentation Index
> Fetch the complete documentation index at: https://developers.supapost.so/llms.txt
> Use this file to discover all available pages before exploring further.

# List Credit Packages

> Retrieve the one-time top-up packages available for purchase.

Returns every active top-up pack — a non-expiring credit bundle purchased on top of the monthly plan. Spent AFTER monthly plan credits deplete, so a team with a healthy monthly balance doesn't erode their top-up on the next renewal.

## Response

```json 200 theme={null}
[
  {
    "id": "pkg-uuid",
    "slug": "credits-1k",
    "name": "1,000 credits",
    "credits": 1000,
    "price_cents": 1000,
    "offer_price_cents": null,
    "savings_pct": null,
    "is_active": true,
    "sort_order": 10
  },
  {
    "id": "pkg-uuid",
    "slug": "credits-5k",
    "name": "5,000 credits",
    "credits": 5000,
    "price_cents": 5000,
    "offer_price_cents": 4000,
    "savings_pct": 20,
    "is_active": true,
    "sort_order": 20
  }
]
```

### Fields

<ResponseField name="credits" type="integer">
  Number of credits granted on purchase.
</ResponseField>

<ResponseField name="price_cents" type="integer">
  Full price in the smallest currency unit (cents for USD).
</ResponseField>

<ResponseField name="offer_price_cents" type="integer | null">
  Discounted price when the pack is promoted. `null` means no offer —
  show `price_cents` only.
</ResponseField>

<ResponseField name="savings_pct" type="integer | null">
  Rounded-percentage savings vs. `price_cents`. Convenience for badges
  like "−20%".
</ResponseField>

## Example

```bash cURL theme={null}
curl https://api.supapost.so/billing/credit-packages \
  -H "Authorization: Bearer YOUR_API_KEY"
```
