Create Block Rules
curl --request POST \
--url https://api.bland.ai/v1/blocked_numbers \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"numbers": [
"<string>"
],
"is_global": true,
"inbound_number": "<string>",
"reason": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/blocked_numbers"
payload = {
"numbers": ["<string>"],
"is_global": True,
"inbound_number": "<string>",
"reason": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
numbers: ['<string>'],
is_global: true,
inbound_number: '<string>',
reason: '<string>'
})
};
fetch('https://api.bland.ai/v1/blocked_numbers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bland.ai/v1/blocked_numbers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'numbers' => [
'<string>'
],
'is_global' => true,
'inbound_number' => '<string>',
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/blocked_numbers"
payload := strings.NewReader("{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bland.ai/v1/blocked_numbers")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/blocked_numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"created_count": 1,
"blocks": [
{
"id": 123,
"blocked_number": "+10000000000",
"is_global": true,
"inbound_number": null,
"org_id": "b7d3e9fc-5c4a-4c2a-9b8f-d1e1d1a2e333",
"reason": null,
"is_active": true,
"created_at": "2025-01-01T00:00:00.000Z",
"updated_at": "2025-01-01T00:00:00.000Z"
}
]
},
"errors": null
}
Blocked Numbers
Create Block Rules
Create one or more block rules to prevent specific phone numbers from reaching your inbound numbers.
POST
/
v1
/
blocked_numbers
Create Block Rules
curl --request POST \
--url https://api.bland.ai/v1/blocked_numbers \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"numbers": [
"<string>"
],
"is_global": true,
"inbound_number": "<string>",
"reason": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/blocked_numbers"
payload = {
"numbers": ["<string>"],
"is_global": True,
"inbound_number": "<string>",
"reason": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
numbers: ['<string>'],
is_global: true,
inbound_number: '<string>',
reason: '<string>'
})
};
fetch('https://api.bland.ai/v1/blocked_numbers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bland.ai/v1/blocked_numbers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'numbers' => [
'<string>'
],
'is_global' => true,
'inbound_number' => '<string>',
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/blocked_numbers"
payload := strings.NewReader("{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bland.ai/v1/blocked_numbers")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/blocked_numbers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"numbers\": [\n \"<string>\"\n ],\n \"is_global\": true,\n \"inbound_number\": \"<string>\",\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"created_count": 1,
"blocks": [
{
"id": 123,
"blocked_number": "+10000000000",
"is_global": true,
"inbound_number": null,
"org_id": "b7d3e9fc-5c4a-4c2a-9b8f-d1e1d1a2e333",
"reason": null,
"is_active": true,
"created_at": "2025-01-01T00:00:00.000Z",
"updated_at": "2025-01-01T00:00:00.000Z"
}
]
},
"errors": null
}
Call Blocking – Blocked numbers will be rejected before reaching any agent. Blocking can apply globally or to specific inbound lines.
Headers
string
required
Your API key for authentication.
Body Parameters
string[]
required
A list of phone numbers to block, formatted in E.164 (e.g.,
+14155551234). Maximum 10 numbers per request.boolean
required
Set to
true to block the numbers globally across all inbound numbers. Set to false to scope the block to a specific inbound_number. You cannot enable both is_global and inbound_number in the same request.string
The E.164 formatted inbound number to associate the block with. Required when
is_global is false.string
Optional text to describe the reason for blocking.
Response
object
Contains the number of rules created and the list of created blocks.
number
Number of block rules successfully created.
array
List of block rule objects that were created.
null|array
null on success, or an array of error objects if validation fails.{
"data": {
"created_count": 1,
"blocks": [
{
"id": 123,
"blocked_number": "+10000000000",
"is_global": true,
"inbound_number": null,
"org_id": "b7d3e9fc-5c4a-4c2a-9b8f-d1e1d1a2e333",
"reason": null,
"is_active": true,
"created_at": "2025-01-01T00:00:00.000Z",
"updated_at": "2025-01-01T00:00:00.000Z"
}
]
},
"errors": null
}
Docs for agents: llms.txt
Was this page helpful?
⌘I