---
title: "Buy a number from the pool"
method: POST
path: "/v1/numbers"
---

# Buy a number from the pool

`POST /v1/numbers`

## Request

- Base URL: `https://volai.cz`
- URL: `https://volai.cz/v1/numbers`
- Auth: HTTP bearer

Buys a number. An empty body `{}` assigns any free number from the current listing, or send a specific `{ "e164": "..." }` from `GET /v1/numbers/available`. Pick a region with `{ "region": "brno" }` - allowed values are `praha`, `brno`, `internet`, `bratislava`; a number from a different region is ordered through `POST /v1/numbers/orders`. This charges a monthly fee of 25.00 CZK (for a Slovak number, offer `bratislava`, it's 75.00 CZK up front - `billingMonths` months paid in advance, and the same amount is charged again every `billingMonths` months), and routing starts at `none` - set it right away with `PATCH`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `e164` string: Specific available number to buy. Omit to select an available number from region.
  - `region` string: Pool offer id from GET /v1/numbers/available. Used only when e164 is omitted; omission uses the default pool offer.

## Response `200`

Bought number

- object
  - `number` object, required
    - `e164` string, required
    - `routing` object, required
      - `mode` 'agent' | 'forward' | 'sip' | 'none', required
      - `agentId` string
      - `forwardTo` string
      - `sipUri` string
      - `sipUsername` string
      - `hasSipPassword` boolean, required
      - `sipTarget` 'elevenlabs' | 'engine'
    - `monthlyFeeHal` number, required
    - `boughtAt` number, required
    - `region` string, required
    - `regionLabel` string, required
    - `billingMonths` number, required

## Other responses

- `400`: Error codes: validation (request).
- `401`: Error codes: unauthorized (request).
- `402`: Error codes: insufficient_credit (account), subscription_cap_reached (account).
- `403`: Error codes: account_suspended (account).
- `404`: Error codes: number_unavailable (service).
- `409`: Error codes: idempotency_in_progress (busy).
- `429`: Error codes: rate_limited (busy).
- `500`: Error codes: internal_error (service).
- `503`: Error codes: pool_empty (service).

---

[API](https://skmtc.dev/volai/apis/volai-rest-api.md) · [All operations](https://skmtc.dev/volai/apis/volai-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volai/apis/volai-rest-api/revisions/12029b05e2fa?raw)
