# Get recharge options

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

Get the payment currency, recharge channels, and recharge tiers available for an account.

```text
GET https://billing.moi.matrixorigin.cn/api/v1/billing/accounts/$ACCOUNT_ID/recharge-options
```

## Before you begin

1. Prepare a valid [personal access token](../../../../../guides/billing/credentials.md#personal-access-token) for the account owner.
2. Call [List current accounts](../accounts/current.md) to obtain the target account’s ID.

## Request example

Replace `$MOI_PERSONAL_ACCESS_TOKEN` and `$ACCOUNT_ID` in the example with your personal access token and the selected account’s ID.

```bash
curl -X GET \
  "https://billing.moi.matrixorigin.cn/api/v1/billing/accounts/$ACCOUNT_ID/recharge-options" \
  -H "X-API-Key: $MOI_PERSONAL_ACCESS_TOKEN"
```

## Path parameters

::::{div} mo-api-parameter-table

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `accountID` | string | Yes | Target account ID from `items[].billing_account_id` in the List current accounts response. |

::::

## Successful response

Returns HTTP `200` with the available recharge channels and tiers.

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} Response example

```json
{
  "region": "cn",
  "currency": "CNY",
  "exchange_rate": "100.000000000000",
  "channels": [
    {
      "channel": "alipay",
      "enabled": true,
      "min_pay_amount": "1.00",
      "max_pay_amount": "5000.00",
      "requires_manual_review": false
    }
  ],
  "tiers": [
    {
      "pay_amount": "100.00",
      "base_credit": "10000.000000000000",
      "bonus_credit": "0.000000000000",
      "total_credit": "10000.000000000000",
      "display_label": "Example tier",
      "default_selected": true
    }
  ]
}
```

:::::
:::::{tab-item} Fields

| Field | Type | Description |
| --- | --- | --- |
| `region` | string | Account region. |
| `currency` | string | Payment currency. |
| `exchange_rate` | string | Base Credit per unit of payment currency, as a decimal string. |
| `channels` | array of object | Recharge channels and payment limits. |
| `channels[].channel` | string | Payment channel code. |
| `channels[].enabled` | boolean | Whether the channel is enabled for this region. |
| `channels[].min_pay_amount` | string | Minimum payment amount in currency units. |
| `channels[].max_pay_amount` | string | Maximum payment amount in currency units. |
| `channels[].requires_manual_review` | boolean | Whether manual review is required. |
| `tiers` | array of object | Visible recharge tiers. |
| `tiers[].pay_amount` | string | Payment amount in currency units. |
| `tiers[].base_credit` | string | Base Credit. |
| `tiers[].bonus_credit` | string | Bonus Credit. |
| `tiers[].total_credit` | string | Sum of base and bonus Credit. |
| `tiers[].display_label` | string | Tier display label. |
| `tiers[].default_selected` | boolean | Whether this tier is selected by default. |

In field paths, `[]` denotes each array item. For example, `channels[].channel` refers to the corresponding field in each item.

:::::
::::::
:::::::

## Error response

Missing authentication returns HTTP `401`; provide a valid personal access token.

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} Response example

```json
{
  "code": "unauthenticated",
  "message": "missing bearer token",
  "error": "missing bearer token"
}
```

:::::
:::::{tab-item} Fields

| Field | Type | Description |
| --- | --- | --- |
| `code` | string | Error code. |
| `message` | string | Error message. |
| `error` | string | Compatibility error message, with the same content as message. |

:::::
::::::
:::::::
