---
title: "Update the resource for a phone number"
method: PATCH
path: "/api/fabric/phone_number_addresses/{id}"
tags: ["Phone Number Addresses"]
---

# Update the resource for a phone number

`PATCH /api/fabric/phone_number_addresses/{id}`

Renames a phone number address, re-points its channel to a different resource, or both; omitted fields keep their current values. The channel itself is fixed: `handler_type` can't be changed, so to hand a number's other channel to a resource, update that channel's own address. Renaming the address also renames the phone number.

A `422` response names the problem in its `code`:

- `invalid_parameter`: `name` is not URL-safe or is longer than 256 characters.
- `provided_id_is_unrecognized`: `resource_id` is not a resource in your project.
- `invalid_resource_type`: the resource can't handle this address's channel.

<Warning title="Beta">This API is in beta and may change.</Warning>

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Calling_, _Fax_, _Messaging_, or _Video_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `id` string, uuid, required — Universal Unique Identifier.

## Request body

- PhoneNumberAddressUpdateRequest
  - `name` string — New name for the phone number address — lowercase letters, numbers, underscores, and hyphens only (no spaces or other special characters), up to 256 characters. Also renames the phone number. Defaults to the current value when omitted.
  - `resource_id` string, uuid — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- PhoneNumberAddress
  - `id` string, uuid, required — Universal Unique Identifier.
  - `type` 'phone', required — The object type. Always `phone`.
  - `handler_type` 'calling' | 'messaging', required — Sets the handler to handle incoming `calls` or `messages`.
  - `resource_id` string, uuid, required — Universal Unique Identifier.
  - `name` string, required — Name of the phone number address.
  - `phone_number` string, required — The phone number in E.164 format.
  - `phone_number_id` string, uuid, required — Universal Unique Identifier.
  - `created_at` string, date-time, required — Date and time when the phone number address was created.
  - `updated_at` string, date-time, required — Date and time when the phone number address was last updated.

## Other responses

- `400` — The request is invalid.
- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `422` — The request contains invalid parameters. See errors for details.
- `500` — An internal server error occurred.

## Changes

> 161 revisions in range; 3 could not be searched.

- **2026-09-15** `7506aebc9ef3` — 1 info
  - endpoint added
- **2026-09-15** `f0464a93a362` — 1 breaking
  - api path removed without deprecation
- **2026-09-15** `525afaa1e832` — 2 warning, 1 info
  - changed the pattern of the request property `name` from `^[a-z0-9]+(-[a-z0-9]+)*$` to `^[a-z0-9_]+(-[a-z0-9_]+)*$`
  - added the new `phone` enum value to the `type` response property for the response status `200`
  - removed the `phone_number_address` enum value from the `type` response property for the response status `200`
- **2026-09-15** `e35eaf5d474d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/fabric/phone_number_addresses/:id/patch.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signalwire/apis/signalwire-rest-api/revisions/20ee0f568ece?raw)
