Update a phone number

Updated

Changes the SIP trunk or inbound routing of a phone number.

Preview documentation

You're reading the Conversational AI Platform (Preview) docs. Switch to Main.
PATCH
https://preview.ai.agora.io/conversational-ai/v1/projects/{appid}/numbers/{number_id}

Send only the fields you want to change. sip_trunk and inbound are each replaced as a whole, so pass the complete object, including sip_trunk.auth if the trunk uses authentication. If you leave out auth or allowed_ips, the saved values are removed. To stop routing inbound calls to an agent, set inbound to null. You can't change the phone number itself. To use a different number, create a new one.

Path Parameters

appidstring
Required

The App ID of your project.

number_idstring
Required

The ID of the phone number, returned in number_id when you create the number.

Header Parameters

If-Matchstring
Required

The ETag value from the most recent response for this resource. If the resource has changed since then, the request fails with 412 and reason PreconditionFailed. Retrieve the resource, apply your change again, and retry with the new ETag.

Request Body

The fields to change. Fields you omit keep their saved values. sip_trunk and inbound replace the saved object as a whole, so pass every field you want to keep. Set inbound to null to stop routing inbound calls to an agent. Other fields can't be null.

numberstring

The phone number in a different format. You can reformat the number, but you can't change it to a different number.

descriptionstring

A description of the number's purpose. It's separate from sip_trunk.name, which names the carrier connection.

sip_trunkobject

The carrier connection for this number.

inboundobject

What happens when someone calls this number. If you omit it, inbound calls are rejected. call_policy is required when agent isn't null.

Response Body

The number was updated. The response body contains the full number.

Response Headers

Agora-Request-Idstring

A unique ID for the request. Include it when you contact Agora support.

ETagstring

The current version of the resource. Pass this value in the If-Match header of your next update or delete request for this resource.

number_idstring

The ID of the phone number, a UUID.

numberstring

The phone number in E.164 format.

descriptionstring

A description of the number's purpose. It's separate from sip_trunk.name, which names the carrier connection.

sip_trunkobject
inboundobject

What happens when someone calls this number. If you omit it, inbound calls are rejected. call_policy is required when agent isn't null.

create_tsinteger

The time the number was added, as a Unix timestamp in seconds.

Authorization

This endpoint requires authentication.

Request examples

Example Request
curl -X PATCH 'https://preview.ai.agora.io/conversational-ai/v1/projects/string/numbers/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'If-Match: string' \  -H 'Content-Type: application/json' \  -d '{  "inbound": {    "agent": "3f6c2a9e-8d1b-4e7a-9c55-0b2f7d1e4a10",    "call_policy": {      "max_call_duration_seconds": 1800    }  }}'

Response example

Example Response
{  "number_id": "879cdb1c-6045-45ce-871d-5bdb73aa8c39",  "number": "string",  "description": "string",  "sip_trunk": {    "name": "string",    "hostname": "string",    "port": 0,    "transport": "udp",    "allowed_ips": [      "string"    ]  },  "inbound": {    "agent": "string",    "call_policy": {      "max_call_duration_seconds": 1,      "max_silence_duration_ms": 1,      "end_call": {        "on_user_request": false,        "on_voicemail": false,        "on_ai_assistant": false      }    }  },  "create_ts": 0}