Sign inGet Started

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);
响应200
{
  "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": [
      "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" needs sequence_id and entry_node_id from an existing active publication in your workspace. Setting this route requires sequence preview access. Sequence management remains in the dashboard; no sequence endpoints are part of the public API.
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.
参数
number_id
string
请求载荷
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.
显示子参数
inbound_configuration.route
object
必填
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".
显示子参数
inbound_configuration.route.type
string
必填
Refuses the call. Every number starts here, and setting it again is how you stop a number answering without giving it up.
Value: reject
响应载荷
id
string
必填
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
必填
The phone number in E.164 format.
country_code
nullable string
必填
Country the number belongs to. Null when the number is not geographic or its country cannot be determined.
name
nullable string
必填
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
必填
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.
显示子属性
provider.type
string
必填
A number we allocated to your workspace.
Value: allocation
provider.number_id
nullable string
必填
Identifier of this number's allocation, to pass to the numbers operations. Null when the allocation behind this number cannot be resolved.
directions
object
必填
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.
显示子属性
directions.inbound
boolean
必填
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
必填
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
必填
What happens to a call arriving for this number.
显示子属性
inbound_configuration.route
nullable object
必填
Null when the stored route type is unsupported; inspect configuration_error before changing it.
显示子属性
inbound_configuration.route.type
string
必填
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.configuration_error
string
Possible values: unsupported_route_type
inbound_configuration.forward_as_options
array of string
Which numbers a forward from this number may be set to show as the caller. A value outside this list is refused on write.
"dialed_number" is present only where your workspace is approved to place calls from numbers you bought from us.
created_at
string
必填
When this number became usable for voice: when it was allocated to you, or when you first registered it, whichever this number is.