> For the complete documentation index, see [llms.txt](https://docs.helodata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.helodata.com/dashboard/extending-an-order.md).

# Extending an order

For ISP batches, "extending" means **renewing** the billing period so the IPs stay yours. Bandwidth orders (residential / mobile) don't extend — they're consumed.

## Renew an ISP batch

1. Left nav → **ISP** → **My IPs** → click a batch.
2. **Renew** button at top right.
3. Pick period (monthly or annual). Annual is 10% off.
4. Confirm.

\[screenshot: ISP batch detail with Renew button]

Payment is taken from balance first, then card. The renewal date shifts by the chosen period; same IPs, same password.

## Auto-renew

By default, ISP batches **auto-renew** at the end of each period if balance covers the cost. Toggle in **My IPs → {Batch} → Settings → Auto-renew**.

If balance is insufficient and no card is on file:

* 7 days before expiry: email warning
* 3 days before: second warning
* On expiry: IPs become unreachable (`403 batch-expired`); 7-day grace begins
* After grace: IPs released to other customers

See [IP management → Renew](/products/overview-2/ip-management.md#extend--renew).

## Recover a batch in grace

If a batch expired and you missed it, you have 7 days to recover the **same** IPs:

1. **My IPs → Expired** tab → find the batch.
2. **Recover** button.
3. Pay the same monthly rate.
4. IPs become active within \~60 seconds.

Recovery is **not guaranteed** — if all IPs happened to be reassigned during grace (rare but possible for high-demand cities), recovery returns equivalent IPs in the same country/city but not identical.

## Extend via API

```bash
curl -X POST -H "Authorization: Bearer API_KEY" \
     -d '{"months":1}' \
     "https://api.helodata.com/v1/isp/batches/bat_01HX/renew"
```

Returns the new `expires_at`.

## Resizing a batch

If you want **more** IPs in the same batch, that's a separate flow — open the batch, **Add IPs**. New IPs come from the same country/city pool when possible; the batch's `expires_at` is unchanged so the new IPs are prorated to align.

## Bandwidth orders — top up, not extend

For residential and mobile, you can't "extend" but you can **top up**:

* **Residential → Buy traffic → +N GB** — adds GB to the existing pool
* Same pricing as the original order

Unused GB on pay-as-you-go does not expire. On plan tiers (Starter, Pro, …), unused GB rolls into the next month up to 50% of the plan; beyond that it's lost.

## Common pitfalls

* **Auto-renew off but no manual renewal** — batches expire silently. Always set up the dashboard alert under **Settings → Alerts**.
* **Card expired** — if your card on file expires near the renewal date, auto-renew fails. Check **Billing → Payment methods** for the expiry warning.
* **Quantity reduction** — `PATCH` quantity *down* doesn't take effect until the next renewal. Releasing IPs immediately means no refund for unused days.
