> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bland.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Custom Dialing Pool

> Create a new custom dialing pool with phone numbers for optimized call routing.

> [!NOTE]
>
> **Enterprise Feature** - Custom dialing is only available on Enterprise plans. Contact your Bland representative for access.

Custom dialing pools allow you to create collections of phone numbers that will be automatically selected based on geographic proximity to optimize call pickup rates.

### Headers

**authorization** `string` *required*

Your API key for authentication.

### Body

**phone\_numbers** `array` *required*

Array of phone numbers to include in the pool. All numbers must be valid US phone numbers with +1 prefix.

**Format**: Each phone number must be exactly 12 characters: `+1` followed by 10 digits.

**Example**: `["+12345678901", "+19876543210"]`

**encrypted\_key** `string`

Optional UUID of Twilio credentials to associate with this pool. If provided, must be valid credentials that belong to your account.

**Format**: UUID format (e.g., `550e8400-e29b-41d4-a716-446655440000`)

Learn more about BYOT [here](https://docs.bland.ai/tutorials/custom-twilio.md).

### Response

**status** `string`

Can be `success` or `error`.

**data** `object`

The created custom dialing pool object (present only if status is `success`).

**data properties**

**id** `string`

Unique identifier for the pool.

**owner\_id** `string`

Organization ID that owns this pool.

**phone\_numbers** `array`

Array of phone numbers in the pool.

**encrypted\_key** `string`

UUID of associated Twilio credentials (or null if none).

**created\_at** `string`

Timestamp when the pool was created.

**errors** `array`

Array of error objects (present only if status is `error`).

**error object properties**

**error** `string`

Error code indicating the type of error.

**message** `string`

Human-readable error message.

```bash cURL theme={null}
curl -X POST "https://us.api.bland.ai/v1/custom-dialing-pools" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_numbers": ["+12345678901", "+19876543210", "+15551234567"],
    "encrypted_key": "550e8400-e29b-41d4-a716-446655440000"
  }'
```

```javascript JavaScript theme={null}
const response = await fetch('https://us.api.bland.ai/v1/custom-dialing-pools', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    phone_numbers: ['+12345678901', '+19876543210', '+15551234567'],
    encrypted_key: '550e8400-e29b-41d4-a716-446655440000'
  })
});

const data = await response.json();
console.log(data);
```

```python Python theme={null}
import requests

url = "https://us.api.bland.ai/v1/custom-dialing-pools"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "phone_numbers": ["+12345678901", "+19876543210", "+15551234567"],
    "encrypted_key": "550e8400-e29b-41d4-a716-446655440000"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
```

```json Success Response theme={null}
{
  "status": "success",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440001",
    "owner_id": "550e8400-e29b-41d4-a716-446655440002",
    "phone_numbers": ["+12345678901", "+19876543210", "+15551234567"],
    "encrypted_key": "550e8400-e29b-41d4-a716-446655440000",
    "created_at": "2024-01-15T10:30:00Z"
  },
  "errors": null
}
```

```json Error Response - Invalid Phone Numbers theme={null}
{
  "status": "error",
  "data": null,
  "errors": [
    {
      "error": "INVALID_PHONE_NUMBERS",
      "message": "All phone numbers must be valid US numbers with +1 prefix"
    }
  ]
}
```

```json Error Response - Invalid Credentials theme={null}
{
  "status": "error",
  "data": null,
  "errors": [
    {
      "error": "INVALID_CREDENTIALS",
      "message": "Twilio credentials not found or do not belong to your account"
    }
  ]
}
```

## Usage with Calls

Once you've created a custom dialing pool, you can use it in your call requests by specifying the `custom_dialing` parameter:

```json theme={null}
{
  "phone_number": "+12345678901",
  "task": "Your call task here",
  "custom_dialing": "550e8400-e29b-41d4-a716-446655440001"
}
```

## The system will automatically select the most geographically appropriate phone number from your pool to maximize pickup rates.

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.