API reference / Numbers
Numbers
The Numbers endpoints of the Voiceland AI API, with parameters, schemas and curl examples.
Last updated:
POST /v1/numbers#
Claim a number. Claims a specific number, or any available number when the body is empty.
Request body
application/json Schema: NumberClaimRequest
| Field | Type | Required | Description |
|---|---|---|---|
e164 |
string | The specific number to claim (E.164). Omit to claim any available. |
Responses
| Code | Description |
|---|---|
200 |
Success. |
401 |
Missing or invalid API key. |
4XX |
Request error (validation, not-found, etc.). |
5XX |
Server or upstream error. |
Example request
curl -X POST "https://api.voiceland.ai/v1/numbers" \
-H "Authorization: Bearer VL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"e164": "+15550000001"
}'
A successful response returns a NumberClaimResponse.
Example response
{
"e164": "+15550000001",
"status": "claimed"
}
GET /v1/numbers/available#
List available numbers. Numbers you can claim from the pool.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
limit |
query |
integer | Max rows (default 50). |
Responses
| Code | Description |
|---|---|
200 |
Success. |
401 |
Missing or invalid API key. |
4XX |
Request error (validation, not-found, etc.). |
5XX |
Server or upstream error. |
Example request
curl "https://api.voiceland.ai/v1/numbers/available" \
-H "Authorization: Bearer VL_API_KEY"
Example response
{
"items": [
"+15550000001"
]
}
POST /v1/numbers/register#
Register an external number. Records an externally-provisioned number as claimed and (optionally) routed to an agent in one call.
Request body
application/json Schema: NumberRegisterRequest
| Field | Type | Required | Description |
|---|---|---|---|
agent |
string | Yes | Agent to route the number to. |
e164 |
string | Yes | The number to register (E.164). |
Responses
| Code | Description |
|---|---|
200 |
Success. |
401 |
Missing or invalid API key. |
4XX |
Request error (validation, not-found, etc.). |
5XX |
Server or upstream error. |
Example request
curl -X POST "https://api.voiceland.ai/v1/numbers/register" \
-H "Authorization: Bearer VL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent": "front-desk",
"e164": "+15550000009"
}'
A successful response returns a NumberRouteResponse.
Example response
{
"agent": "front-desk",
"e164": "+15550000009"
}
DELETE /v1/numbers/{e164}#
Release a number. Returns a claimed number to the pool.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
e164 |
path |
string | Yes | Claimed number in E.164. |
Responses
| Code | Description |
|---|---|
204 |
Released. |
401 |
Missing or invalid API key. |
4XX |
Request error (validation, not-found, etc.). |
5XX |
Server or upstream error. |
Example request
curl -X DELETE "https://api.voiceland.ai/v1/numbers/{e164}" \
-H "Authorization: Bearer VL_API_KEY"
POST /v1/numbers/{e164}/route#
Route a number to an agent. Binds a claimed number to an agent; calls to it reach that agent.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
e164 |
path |
string | Yes | Claimed number in E.164. |
Request body
application/json Schema: NumberRouteRequest
| Field | Type | Required | Description |
|---|---|---|---|
agent |
string | Yes | Agent the number should reach. |
Responses
| Code | Description |
|---|---|
200 |
Success. |
401 |
Missing or invalid API key. |
4XX |
Request error (validation, not-found, etc.). |
5XX |
Server or upstream error. |
Example request
curl -X POST "https://api.voiceland.ai/v1/numbers/{e164}/route" \
-H "Authorization: Bearer VL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent": "front-desk"
}'
A successful response returns a NumberRouteResponse.
Example response
{
"agent": "front-desk",
"e164": "+15550000001"
}
Schemas#
Error#
Error envelope returned for non-2xx responses.
| Field | Type | Required | Description |
|---|---|---|---|
error |
object | Yes |
NumberClaimRequest#
Claim a number. Empty body claims any available number.
| Field | Type | Required | Description |
|---|---|---|---|
e164 |
string | The specific number to claim (E.164). Omit to claim any available. |
NumberClaimResponse#
| Field | Type | Required | Description |
|---|---|---|---|
e164 |
string | Yes | The claimed number. |
status |
string | Yes | Claim status. |
NumberRegisterRequest#
Register an externally-provisioned number as claimed (and optionally routed).
| Field | Type | Required | Description |
|---|---|---|---|
agent |
string | Yes | Agent to route the number to. |
e164 |
string | Yes | The number to register (E.164). |
NumberRouteRequest#
| Field | Type | Required | Description |
|---|---|---|---|
agent |
string | Yes | Agent the number should reach. |
NumberRouteResponse#
| Field | Type | Required | Description |
|---|---|---|---|
agent |
string | Yes | The agent it now reaches. |
e164 |
string | Yes | The number. |