Update a voice number
PATCH
/v1/voice/numbers/{number_id}
const number = await bird.voice.numbers.update("number-id", { name: "Support line" });
console.log(number.id, number.name);number = client.voice.numbers.update("number-id", name="Support line")
print(number.id, number.name)number, err := client.Voice.Numbers.Update(context.Background(), "number-id", bird.VoiceNumbersUpdateParams{
Name: bird.Value("Support line"),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(number.Id, number.Name)$number = $bird->voice->numbers->update('number-id', (new VoiceNumberUpdate())->setName('Support line'));
echo $number->getId(), ' ', $number->getName() ?? '', "\n";bird voice numbers update <number-id> --body-file - <<'JSON'
{
"inbound_configuration": {
"route": {
"type": "trunk",
"trunk_id": "spt_01krdgeqcxet5s7t44vh8rt9mg"
}
}
}
JSONcurl -X PATCH "https://us1.platform.bird.com/v1/voice/numbers/{number_id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inbound_configuration": {
"route": {
"type": "trunk",
"trunk_id": "spt_01krdgeqcxet5s7t44vh8rt9mg"
}
}
}'Respuesta200
{
"id": "vnu_01krdgeqcxet5s7t44vh8rt9mg",
"phone_number": "+14155551234",
"country_code": "US",
"name": "Support line",
"provider": {
"type": "allocation",
"number_id": "nda_01krdgeqcxet5s7t44vh8rt9mg"
},
"inbound_configuration": {
"route": {
"type": "reject"
},
"configuration_error": "unsupported_route_type",
"forward_as_options": [
"dialed_number",
"calling_number"
]
}
}
Changes what you have said about this number: the label you gave it, and what
happens when a call arrives for it. Omit a field to leave it as it is.
The route replaces whatever was set before, because a number has exactly one
answer at a time. Type "reject" refuses calls and is where every number
starts, so sending it clears a trunk or forward you set earlier.
"trunk" needs a trunk_id: the trunk must be yours and must have inbound
calling enabled. "forward" needs a forward_to, which has to be one of your
verified caller IDs. That is checked when you set it, and again on every call
it forwards, so a caller ID you later remove stops forwarding rather than
carrying on.
Sequence management remains in the dashboard. A sequence route needs
sequence_id and entry_node_id from an existing active publication in your
workspace. Binding a sequence with recording commands or managed recording
transfers requires organization preview access. Sequence management endpoints
are not available through the public API; see the
call sequences guide.
Only a number whose calls arrive here can carry a route. A number from
another carrier is somewhere calls can be sent to, and that carrier routes
the calls made to it, so inbound_configuration is refused on it. The label
can be set on either.
Parámetros
number_id
string
Cuerpo de la solicitud
name
nullable string
Your own label for this number. Send null to remove the one it has. Omit the field to leave it alone.
inbound_configuration
object
What should happen to calls arriving for this number. The route replaces
whatever was set before, because a number has exactly one answer at a time,
and type "reject" is how you stop it answering. Omit the field to leave the
answer alone.
Only a number that can receive calls carries a route, so it is refused on
one whose directions do not include inbound.
Mostrar parámetros secundarios
inbound_configuration.route
object
obligatorio
What happens to a call arriving for this number. Its type selects the shape, and each answer carries its own fields; the variants below are the full set you can set. An unconfigured number uses "reject".
Mostrar parámetros secundarios
inbound_configuration.route.type
string
obligatorio
Refuses the call. Every number starts here, and setting it again is how you stop a number answering without giving it up.
Value: reject
inbound_configuration.route.type
string
obligatorio
Delivers the call to one of your SIP trunks.
Value: trunk
inbound_configuration.route.trunk_id
string
obligatorio
The SIP trunk that answers calls to this number. It must be one of yours and must have inbound calling enabled. Turning that trunk's inbound calling off, or deleting it, puts this number back on "reject".
inbound_configuration.route.type
string
obligatorio
Places a call to another of your numbers and connects the two.
Value: forward
inbound_configuration.route.forward_to
string
obligatorio
The number calls are forwarded to, in E.164 format. It has to be one of your verified caller IDs. That is checked when you set it and again on every call it forwards, so a caller ID you later remove stops forwarding rather than carrying on.
inbound_configuration.route.forward_as
string
obligatorio
Which number the forwarded leg presents as its caller. Include the choice
on every write. Reads return the effective choice; older configurations
without a stored choice return dialed_number.
Possible values: dialed_number, calling_number
Carga de respuesta
id
string
obligatorio
Identifier of this number, to pass to the operations that read and change it. A number you registered as a caller ID carries the same identifier there, with the caller-ID prefix.
phone_number
string
obligatorio
The phone number in E.164 format.
country_code
nullable string
obligatorio
Country the number belongs to. Null when the number is not geographic or its country cannot be determined.
name
nullable string
obligatorio
Your own label for this number, to tell several apart. Null when it has none. Only you see it, so it never affects what a caller sees.
provider
object
obligatorio
Where this number came from, and the facts that belong to that answer. The type selects the shape. allocation is a number we allocated to your workspace, and it carries that allocation's identifier. verified_number is a number from another carrier, and it carries how far proving control of it has got.
Mostrar atributos secundarios
provider.type
string
obligatorio
A number we allocated to your workspace.
Value: allocation
provider.number_id
nullable string
obligatorio
Identifier of this number's allocation, to pass to the numbers operations. Null when the allocation behind this number cannot be resolved.
provider.type
string
obligatorio
A number from another carrier that you registered here. That carrier decides where calls to it go; we only present it on calls you place.
Value: verified_number
provider.status
string
obligatorio
How far proving control of this number has got.
Possible values (may grow over time): pending, verified, failed
provider.verified_at
nullable string
obligatorio
When control of this number was last proven. Null until it is.
directions
object
obligatorio
Which directions this number can carry. Both follow from the number itself, so neither is yours to change. On a SIP trunk each direction is a setting you turn on; here it is a fact about the number.
Mostrar atributos secundarios
directions.inbound
boolean
obligatorio
Whether calls to this number arrive here. False for a number from another carrier, whose calls that carrier routes, and for one allocated to you that cannot carry calls.
directions.outbound
boolean
obligatorio
Whether this number can be presented on a call you place. Buying a number does not grant this on its own: proving control of it does.
inbound_configuration
object
obligatorio
What happens to a call arriving for this number.
Mostrar atributos secundarios
inbound_configuration.route
nullable object
obligatorio
Null when the stored route type is unsupported; inspect configuration_error before changing it.
Mostrar atributos secundarios
inbound_configuration.route.type
string
obligatorio
Refuses the call. Every number starts here, and setting it again is how you stop a number answering without giving it up.
Value: reject
inbound_configuration.route.type
string
obligatorio
Delivers the call to one of your SIP trunks.
Value: trunk
inbound_configuration.route.trunk_id
string
obligatorio
The SIP trunk that answers calls to this number. It must be one of yours and must have inbound calling enabled. Turning that trunk's inbound calling off, or deleting it, puts this number back on "reject".
inbound_configuration.route.type
string
obligatorio
Places a call to another of your numbers and connects the two.
Value: forward
inbound_configuration.route.forward_to
string
obligatorio
The number calls are forwarded to, in E.164 format. It has to be one of your verified caller IDs. That is checked when you set it and again on every call it forwards, so a caller ID you later remove stops forwarding rather than carrying on.
inbound_configuration.route.forward_as
string
obligatorio
Which number the forwarded leg presents as its caller. Include the choice
on every write. Reads return the effective choice; older configurations
without a stored choice return dialed_number.
Possible values: dialed_number, calling_number
inbound_configuration.route.type
string
obligatorio
Runs the named sequence's active publication from the selected voice-call entry.
Value: sequence
inbound_configuration.route.sequence_id
string
obligatorio
Named sequence whose active publication handles the call.
inbound_configuration.route.entry_node_id
string
obligatorio
Voice-call entry in the sequence's active publication.
inbound_configuration.configuration_error
string
Possible values: unsupported_route_type
inbound_configuration.forward_as_options
array of string
Caller identities available when configuring a forward. Use these values to populate the choice in your editor. The current choices are dialed_number and calling_number.
created_at
string
obligatorio
When this number became usable for voice: when it was allocated to you, or when you first registered it, whichever this number is.
Recursos relacionados
Continúa con la documentación, guías y ejemplos sobre este tema. Los recursos están en inglés.
Comprender el conceptoShould I use a Bird SDK or call the API directly?Seguir la ruta de aprendizajeBuild your first integrationGuía de implementaciónSend your first email
Obtener un resumen de implementación