---
title: "Update the voice settings"
canonical: "https://bird.com/docs/api/reference/update-voice-settings"
---

# Update the voice settings

`PATCH /v1/voice/settings`

Changes your workspace's voice settings. Omit a field to leave it as it is.

`inbound_configuration.route` applies to every Bird number that has no inbound route of its
own, from the next call it receives. A number with its own route keeps it, and verified
caller IDs receive no calls.
The route is checked the same way as a number's: a trunk must be yours and
have inbound calling enabled, and a forward target must be one of your
verified caller IDs, otherwise the update returns 412. A trunk_id that is not
one of your trunks returns 404. Deleting the trunk, or
turning off its inbound calling, sets the default back to "reject".

## Code samples

**TypeScript**

```ts
const settings = await bird.voice.settings.update({
  inbound_configuration: { route: { type: "trunk", trunk_id: "spt_01krdgeqcxet5s7t44vh8rt9mg" } },
});
console.log(settings.inbound_configuration.route.type);
```

Examples: [TypeScript](/docs/api/reference/update-voice-settings.ts.md) · [Python](/docs/api/reference/update-voice-settings.py.md) · [CLI](/docs/api/reference/update-voice-settings.cli.md) · [cURL](/docs/api/reference/update-voice-settings.curl.md)

## Example response `200`

```json
{
  "inbound_configuration": {
    "route": {
      "type": "reject"
    }
  }
}
```

## Request body

- `inbound_configuration` (object): The route for calls arriving on any of your Bird numbers that has no inbound route of its own; verified caller IDs receive no calls. It takes effect on the next call to each of those numbers. Numbers with their own route keep it.
- `inbound_configuration.route` (object, required): 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.
  - Variant `reject`
    - `inbound_configuration.route.type` (string, required)

      Refuses the call. Setting it is how you stop a number answering without giving it up. It is also the default inbound route of a new workspace.

      Value: `reject`
  - Variant `trunk`
    - `inbound_configuration.route.type` (string, required)

      Delivers the call to one of your SIP trunks.

      Value: `trunk`
    - `inbound_configuration.route.trunk_id` (string, required): The SIP trunk that answers these calls. It must be one of yours and must have inbound calling enabled. Turning that trunk's inbound calling off, or deleting it, removes this route: a number returns to your workspace's default inbound route, and a workspace default becomes "reject".
  - Variant `forward`
    - `inbound_configuration.route.type` (string, required)

      Places a call to another of your numbers and connects the two.

      Value: `forward`
    - `inbound_configuration.route.forward_to` (string, required): 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, required)

      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`

## Response body

- `inbound_configuration` (object, required): What happens to a call arriving for any of your Bird numbers that has no inbound route of its own.
- `inbound_configuration.route` (object, required): The workspace's default inbound route. Defaults to "reject".
  - Variant `reject`
    - `inbound_configuration.route.type` (string, required)

      Refuses the call. Setting it is how you stop a number answering without giving it up. It is also the default inbound route of a new workspace.

      Value: `reject`
  - Variant `trunk`
    - `inbound_configuration.route.type` (string, required)

      Delivers the call to one of your SIP trunks.

      Value: `trunk`
    - `inbound_configuration.route.trunk_id` (string, required): The SIP trunk that answers these calls. It must be one of yours and must have inbound calling enabled. Turning that trunk's inbound calling off, or deleting it, removes this route: a number returns to your workspace's default inbound route, and a workspace default becomes "reject".
  - Variant `forward`
    - `inbound_configuration.route.type` (string, required)

      Places a call to another of your numbers and connects the two.

      Value: `forward`
    - `inbound_configuration.route.forward_to` (string, required): 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, required)

      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`
  - Variant `sequence`
    - `inbound_configuration.route.type` (string, required)

      Runs the named sequence's active publication from the selected voice-call entry.

      Value: `sequence`
    - `inbound_configuration.route.sequence_id` (string, required): Named sequence whose active publication handles the call.
    - `inbound_configuration.route.entry_node_id` (string, required): Voice-call entry in the sequence's active publication.

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
