---
title: "Extend a GB pool at its current rate (self-serve)"
method: POST
path: "/proxy_pools/{id}/extend"
tags: ["Proxy pools"]
---

# Extend a GB pool at its current rate (self-serve)

`POST /proxy_pools/{id}/extend`

## Request

- Base URL: `https://dashboard.voidmob.com/api/v1`
- URL: `https://dashboard.voidmob.com/api/v1/proxy_pools/{id}/extend`
- Auth: HTTP bearer

Adds `gb` at the pool's current `price_per_gb_cents` and pushes
`valid_until` forward by `self_extend.adds_days` (from now if the pool
had lapsed). Charged to the wallet. Refused when self-serve extension
is disabled or `gb` is under `self_extend.min_gb`. Works on a lapsed
pool - this is how a reseller reactivates one.

## Path parameters

- `id` string, required: Opaque reseller GB pool identifier.

## Headers

- `Idempotency-Key` string, required

## Request body

- ExtendProxyPoolRequest
  - `gb` integer, required
  - `max_price_cents` integer, required

## Response `200`

Extended.

- object
  - `success` true, required
  - `data` object, required
    - `pool` ProxyPool, required
      - `id` string, required: Opaque reseller GB pool identifier.
      - `name` string, required
      - `total_gb` number, required: Lifetime GB purchased, including every extension.
      - `allocated_gb` number, required: GB currently held by live sub-orders.
      - `remaining_gb` number, required: total_gb minus allocated_gb. Includes frozen GB while lapsed.
      - `price_per_gb_cents` integer, required: Current per-GB rate charged on every self-serve extension. Set with you when the pool is provisioned; renegotiated rates apply to later extensions only.
      - `valid_until` string, date-time, required
      - `status` 'active' | 'lapsed', required
      - `self_extend` object, required
        - `enabled` boolean, required: Whether POST /v1/proxy_pools/{id}/extend is allowed self-serve on this pool.
        - `min_gb` integer, required: Minimum gb accepted per self-serve extension.
        - `adds_days` integer, required: Days added to valid_until per extension.
      - `created_at` string, date-time, required
    - `charged_price_cents` integer, required

## Other responses

- `400`: 400 - Extension is below the pool's minimum GB.
- `401`: 401 - Authentication required.
- `402`: 402 - Your wallet balance is too low for this purchase.
- `403`: 403 - Self-serve extension is not enabled for this pool.
- `404`: 404 - Pool not found.
- `409`: 409 - Price exceeds the supplied max_price_cents.
- `429`: 429 - Rate limit exceeded. Retry after the indicated interval.

---

[API](https://skmtc.dev/voidmob/apis/voidmob-public-api.md) · [All operations](https://skmtc.dev/voidmob/apis/voidmob-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voidmob/apis/voidmob-public-api/revisions/066023313ebe?raw)
